・環境
プログラム....Delphi6Pro
データーベース..BDEを使ったParadox
開発環境.....WindowsXp
サーバー.....Windowsサーバーにデーターを置き複数台で共有化プログラムを行っていました。
・問題点
クライアント側はWindowsXpで稼動していたのですが、Windows7に移行して再インストールし実行したところ「アクセスは拒否されました」のメッセージ
が頻繁に出てしまいます。おそらく権限の問題かと思うのですが、対処方法を知っている方がいらっしゃいましたらお教え下さい。
宜しくお願いします。
私も同じ問題で苦労してますので以下のキーワードでネットで検索するとたくさん出てきます。例:delphi netdir windows7
達人のMr.Xrayさんの以下のコメントを良くお読みになると良いかと思います。Mr.Xrayさんいつもお世話になっております。
こんにちわ。
BDEAdministratorの環境設定-Drivers-Native-Paradoxをひらき、
定義NET DIRをC:\ではなく、他の権限のあるフォルダを指定すると直ります。
Vista、Win7ではC:はユーザーアカウント制御(UAC)の制御下になってしまい、参照することができずエラーが発生します。
プログラム内では、下記のように指定してください。
uses にDBTablesを追加して、
BTables.Session.NetFileDir := 'C:\HOGE';
DBTables.Session.PrivateDir := 'C:\HOGE';
ちなみにC:\Program files配下のフォルダもUACが有効になっているのでNET DIRフォルダの指定先としては適当ではありません。
あっ、すみません。
Paradoxのファイルはサーバー上の共有フォルダにあるんですね。
だとするとPrivateDirだけを設定すればいいのかもしれません。
当方ではParadoxはローカルでしか使わなかったものですから。
>Paradoxのファイルはサーバー上の共有フォルダにあるんですね。
>だとするとPrivateDirだけを設定すればいいのかもしれません。
おそらく,NET DIRの設定が必要だと思います.
というのは,Delphiを使い始めた当初,BDE + Paradoxで社内アプリを開発した時に,
Windows 98ですが,PDOXUSRS.NETが C:\ルート下にできていました.
もちろん,クライアントにです.
Windows XPからの切換えということなので,
同じPCでしたら,PDOXUSRS.NETの削除が必要かも知れません.
# 当方は,その2ヶ月後には,Oracleに切り換えてしまいましたけど.
# Paradoxは,運用にはやはり無理がありますね.
みなさん、有難う御座います。Mr.XRAYさんがおっしゃっているPDOXUSRS.NETのエラーがBDEの設定時に出ます。またBDEを変更しようとした時フリーズして固まってしまったりします。何とか処置方法はないでしょうか(涙)
皆さんの回答に間違いが見られます。
まず最初にしなければいけないこと
BDEアプリケーションをWindows7で実行するには、コントロールパネル内のユーザアカントでユーザアカント制御を「通知しない」にしなければなりません。これをしないとBDE関連ソフト(BDEAdministratorなども)は動きません。
設定後、PCを再起動をしてください。
NETDIRはParadoxファイルがあるサーバのフォルダを記入します。アプリを使用するクライアントの設定を同じにする必要があります。これをしないとデータベースの共有がうまく動作しません。従来(WindowsXP)からの設定方法と同じです。
ソースを変更する必要はありません。
例)\\サーバ名\フォルダ名
参照URL
http://park12.wakwak.com/~kazuo/win7taiou/win7taiou.htm
> BDEアプリケーションをWindows7で実行するには、
> コントロールパネル内のユーザアカントでユーザアカント制御を「通知しない」にしなければなりません。
> これをしないとBDE関連ソフト(BDEAdministratorなども)は動きません。
先の Mr.XRAY 氏のサイトの URL にもあったように、
BDE Administrator は UAC をオフにしなくとも "管理者として実行" で動作したと思うのですが?
> BDEAdminのある場所.このBDEAdmin.exeを[管理者として実行]で起動する
> BDE Administrator は UAC をオフにしなくとも "管理者として実行" で動作したと思うのですが?
Windows7(64ビット)環境下では、起動はできても更新すると砂時計のまま止まります。
BDEの阻害要因はUACで、他にもいろいろありそうなので止めたほうが確実です。
>Windows7(64ビット)環境下では、起動はできても更新すると砂時計のまま止まります。
あらま!?
当方も,Windows 7 64bitですが,少なくとも,NET DIRの設定は更新できましたね.
LAN上の,Paradoxのデータの更新,修正もできています.
う〜む.何なんでしょう.
ということですので,サイトの記事の更新は,様子見とします.
>何とか処置方法はないでしょうか(涙)
このスレッドに書いてある方法を試したが改善されないということですよね?
とすると,他の方からの情報を待つか,自力ですね.
解決したら是非教えてください.貴重な情報となると思います.
こんにちは,Mr.XRAYです.
>う〜む.何なんでしょう.
>ということですので,サイトの記事の更新は,様子見とします.
追試してみましたが,BdeManagerVer114.exeも,管理者権限で
インストール,動作もするようです.あまり細かくはチェックしていませんが.
とりあえず,追試はここまでとしておきます.
原因等が分かった時点で,サイトの記事を修正したいと思います.
「勝てば官軍,動けば正義」と言いますから(苦笑)
http://mrxray.on.coocan.jp/Delphi/Others/WindowsVista.htm#BDEAdmin
私のトコの Windows 7 (64bit) でも BDE Administrator は動作します。
インストーラで BDE を Program Files 以外に置いてみたらどうでしょうね?
(Ex.C:\BDE)
Mr.XRAYさん、DEKOさん
子供のWin7(32ビット)で確かめました。細かなチェックはしていませんが皆さん言われるとおり動作しました。お騒がせしました。
ツイート | ![]() |