掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
FireDACで、Firebird 3 Embedded への接続 (ID:150985)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こちらでは、"C:\Windows\SysWOW64"に"fbclient.dll"が見つかりました。このフォルダーをWindowsの環境変数PATHに追加しました。PCを再起動してから、試しましたが、改善されていませんでした。 参考までに、FlameRobinをSQLツールとして使っていますが、”fbclient.dll”へのWindows環境変数PATHの有無に関わらず、常にFirbirdとの接続が出来ています。現在懸案のアプリで使用するデータベース・ファイルへもPATHの有無に関わらず接続でしています。本アプリの動作確認などで用いてきました。 LocalhostとEmbeddedの機構を理解出来ていないのだと思いますが、 EmbeddedはFirebirdがLocalhostとして稼働していない、つまりサービスとして提供されていないPCでサーバー機能を実現するために、アプリケーションと一緒に配布し、アプリケーションが自分のクライアントとしての要求に対する返答を自ら実現する為のDLLと理解しています。 従って、データそのものの格納場所としてのデータベース・ファイルの保存場所を提供するサービスの格納場所としてのDLLの場所を知らせる必要があります。通常は、同一フォルダーに見つかって、そうでなければPATHを探索します。(その意味で、配布するDLLの名前が”Clieint”と言うのは違和感があります。その為か、"fbembed.dll"又は"fbclient.dll"を"gds32.dll"に変更する様にとの使用説明もあったと思います) 一方で、Firebird自身がインストールされている場合、Localhost機能がサービスとして提供されているので、そのサービスとやり取りが出来ればデータベース・ファイルの場所のみが必要であり、サーバー機能の提供に関しては、アプリの側から関与する必要はないと感じます。 試しに、”コンピュータの管理”から”サービス”で”Firebird Server”を停止すると、FlameRobinからのSQL操作がエラーとなります。"Firebird Server"を再開すると、FlameRobinからのSQL操作も正常に戻ります。 そして、FlameRobinではデータベース・ファイルの場所は設定しますが、”fbclient.dll”や"gds32.dll"へのPATHの設定はない様に思います。 DELPHIの側からFirebird Serverが見えていない様に思います。 どの様な機構でLocalhostとEmbeddedは切り替わるのでしょう? 簡単にでも良いので、ご教授願えればと思います。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.