サーバーにあるデータベースを複数PCで利用するには?

解決


初子  2007-03-27 22:29:17  No: 25511

複数PCでDelphiで作成したソフトを起動した場合、
サーバーにあるデータベースの関係で、
「他の.NETファイルがこのディレクトリをコントロールしています」というエラーが出てきました。
AliasのパスをTSessionを使用し取得しているのが原因だったので、(その処理を外したところエラーが出なかった)
TSessionの代わりに、↓を利用してパスを取得したのはいいのですが・・

Check(DbiGetDatabaseDesc(PChar('データベース名'), @vDBDesc));
strAliasPath := Format('%s\', [vDBDesc.szPhyName]);

上記のコードを加え、実行した後、
「他の.NETファイルがこのディレクトリをコントロールしています」というエラーが他のPCが同時起動していないのに起こり、上記のコードを外してもエラーが出て困っています・・

この状態から脱したいのですが・・分かる方ご教授お願いいたします。


Mr.XRAY  URL  2007-03-28 05:52:54  No: 25512

おそらく[BDE]タブのデータベース関係のコンポーネントを使用されていると
思います.DelphiのバージョンもWindowsのバージョンも不明なので
確かな事は言えませんが,

http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/search.cgi?screen=1

ここで検索文字列に
ディレクトリ コントロール BDE
と入力して検索して見て下さい.参考になるかも知れません.


かず  2007-03-28 06:13:19  No: 25513

BDEを使ってParadoxファイルを共有する場合(と勝手考え)
PDOXUSRS.NETファイルのパスを全クライアントで統一する必要があります。
そうしないとレコード排他処理ができません。
PDOXUSRS.NETのパスはBDEAdministratorのParadox->NETDIRをサーバの共有フォルダにします。
Paradoxデータベースでなければ、こめんなさいです。


初子  2007-03-29 02:17:29  No: 25514

自己解決いたしました。
DBフォルダの中にロックファイル?が何かのエラー時に作られていたようで、私もよく分からず「あれこんなファイルあったかな」と思って消去したところ、起動してみるとエラーがでなくなりました。
ちなみに拡張子が確かlckみたいな感じのでした;すみませんきちんと見ずに消去してしまいました;

Mr.XRAYさん>
環境をお教えするのを忘れていました;大変申し訳ありません。
windowsXPでdelphi3です。

大変、参考になるサイトを教えていただきありがとうございます。
私のほしかった情報が載っていませんでしたが、他に活用させていただきます!ありがとうございました。

かずさん>
BDEを使ってParadoxファイルを共有する場合であっていました;
大変申し訳ありません;
情報ありがとうございます。無事全クライアントで統一することが出来ました。まったくの素人に近いのでありがたいです(涙)


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加