掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
FireDACで、Firebird 3 Embedded への接続 (ID:150994)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
間が空いてしまいすみません。 プログラム内でFireDACのFDConnectionで"GetInfoReport"の結果を表示させてみました。 1) DELPHIからの起動ではなく、Releaseビルド・フォルダーに生成されたプログラムを直接ダブルクリックで起動しました。配布時を想定したつもりです。 "GetInfoReport"結果は、正常にデータベースと接続されました。サーバーDLLはプログラムと同時配布となるreleaseビルド・フォルダー内の"fbclienyt.dll"が参照されています。想定していた正常な接続と思います。 2) DELPHIからビルド構成を”release”で実行すると、正常にデータベースと接続されました。 "GetInfoReport"結果は、1)同様でした。 3) DELPHIからビルド構成を”debug”で実行すると、正常にデータベースと接続されました。(これまではエラーだったのですが、、、) "GetInfoReport"結果、サーバーDLLは1)2)と違って、"C:\Windows\SysWOW64"内の"fbclient.dll"が参照されています。 これは、debugビルド・フォルダーには"fbclient.dll"を置いていなく、PATHの通っている"C:\Windows\SysWOW64"内のものが参照されたと思います。 この状態で、DELPHIのデザイン画面でFDConnctionコンポーネントの"Connected"プロパティを”True”にすると、エラーが発生してしまいます。 実行すると正常に接続されますが、デザイン上では接続できません。 これまで(Firebird3の時と、それ以前のfirebird2.5の時も)は、コーディング無しででコンポーネントの配置のみで接続の確認は出来ていました。 ここで、FDConnectionコンポネントで接続エディタを開き”情報”の項目を参照すると、”クライアント情報”のところがエラーになっています。 何故、実行時に参照出来るDLLにコンポーネントからは出来ないのでしょうか?FDConnectionコンポーネントも一つしかありませんので、間違って確認している分けではないと思います。 うまく行っているのは全てEmbeddedサーバーの参照の様に思えます。 Localhostサーバーへの参照はやはりDLLを参照するのではなく、稼働中(メモリーに常駐?)のサーバー・プロセスとのやり取りによって実現されるのではないでしょうか? あくまで、想像ですが。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.