FireDACで、Firebird 3 Embedded への接続

解決


yTake  2023-06-16 09:55:23  No: 150969  IP: 192.*.*.*

yTakeです
Firebird 3になってEmbeddedの配布が変わった様です。

アプリケーション本体と同じフォルダーに"fbclient.DLL"を配置す様です。(以前は、gds32.DLL)
しかしながら、うまく接続出来ていません。
色々試しましたが、”Could not find acceptable ICU library ...”と言うメッセ―ジが出てデータベースと接続できない様です。

開発時には、データベースへはアクセス出来ていて、参照や更新は出来ています。
アプリケーションと一緒にEmbedded版を配布するだけで、Embedded版でも動作するはずなのですが、、、

開発時、
DELPHI XE6+FMX with FireDAC
Firebird 3, FlameRobin 0.93
です。特に問題なく動作している様に思います。

配布時、
アプリケーション
fbclient.DLL
firebird.msg
firebird.conf
ib_util.DLL
icudt52.DLL
icuin52.DLL
icuuc52.DLL
plugins\engine12.DLL
いずれもFirebird3に付属してきたバージョンのファイルです。


Firebird3でのEmbedded版に関して情報が少なく、問い合わせる場所もない様です。
こちらへ質問させて頂きました。

ご教授頂けると幸いです。

編集 削除
igy  2023-06-16 14:12:59  No: 150970  IP: 192.*.*.*

DELPHI XE6での情報では、ないのですが、

FireDAC データベースのサポート
https://docwiki.embarcadero.com/Status/ja/FireDAC_%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88
では、Ver.3.0対応は Delphi 10.3以降みたいですし、

RAD Studio 10.3.1 でのFirebird向けFireDACの新機能
https://blogs.embarcadero.com/ja/what-s-new-in-firedac-for-firebird-in-rad-studio-10-3-1-ja/
には、Firebird 関連の機能追加に関して書かれていて、

Firebird 3.0.7 Embedded with Delphi & Firedac
https://synaptica.info/en/2021/01/18/firebird-3-0-7-embedded-with-delphi-firedac/
などの情報から、

試しに、10.3以降のバージョン、例えば Delphi 11 Community Edition などで接続できるか、試してみるのも良いかと思います。

編集 削除
yTake  2023-06-16 22:54:41  No: 150971  IP: 192.*.*.*

igyさん
ありがとうございます。
なるほど、Firebird 3対応は公式にはDelphi 10.3以降の様ですね。(それ以前のバージョンに関しては言及なし)
一方、XE6で開発中は、Firebird 3データベースへの参照や更新が出来ています。XE6上で確認出来ますし、念の為、FlameRobinにてデータベース自身を確認して更新を確認出来ています。
ただ、開発時はEmbedded版ではなく通常版をサーバーにしています。
XE6は対応の保証には含まれませんが、たまたま、正常に動作していると言う事でしょうか?
また、通常版とEmbedded版でアプリケーションの側では一切の変更が必要なく切り替え可能なはずですが、ここだけうまく行っていません。
Delphi 11(Community Edition)が出ているのですね。試してみたいと思います。
逆に、Firebird 2.5ならXE6でもEmbedded版でうまく行きそうですが、今回の件で色々調べていたら、Firebird 3とFirebird 2.5とでデータベース・ファイルの構造に相違がある様で、データベース・ファイルも構築し直す必要がある様です。
この辺りも確認したいと思います。

編集 削除
yTake  2023-06-17 09:18:14  No: 150972  IP: 192.*.*.*

Firebird 2.5 に切り替えてみました。
データベースの構造が違うので、FlameRobinで3つレコードを作成して、FireDAC+Livebindigで開発中のデザイン画面でTGridなどにもその内容が正しく反映されています。
然しながら、このままデバッグ・モードでを実行すると、
"[FireDAC][Phys][FB]-314.ベンダライブラリ[fbclient.dll or fbembed.dll]を読み込めません。指定されたファイルが見つかりません。ヒント:PATHまたはアプリケーションのEXEファイルに含まれているか、x64ビットであるかを確認して下さい。, 0, nil, nil, False, 314, TFDPhysManager" 
と言うエラーになります。
Firebird 2.5は64bit版をインストールしています。
また、開発中は、Localhostサーバーを使用するので、fbclient.dll や fbembed.dll (gds32.dll)を本アプリのexeファイルと同じ場所に置く必要もないはずですが、原因が分かりません。
そもそも、デザイン画面で正しくデータベースへ参照出来ているのですが、、、
よろしくお願いします。

編集 削除
igy  2023-06-17 10:31:53  No: 150973  IP: 192.*.*.*

外しているかもしれませんが、

最初に Firebird 3 をインストールして、(それをアンインストールして)Firebird 2.5をインストールしたとすると、
(systemフォルダなどにある)fbclient.dllなどのファイルの日付が(Firebird 2.5のほうが)古いため、
コピーされなかったとかは、ありませんか?

そのPCにある fbclient.dllなどのファイルの日付やバージョンなど確認してみるのも良いかもしれません。

編集 削除
yTake  2023-06-17 14:29:52  No: 150974  IP: 192.*.*.*

ご助言をありがとうございます。

確かに、”C:\Windows\SysWOW64”にある"fbclient.dll"はFirebird 3.0のものでした。
Firebird 2.5のものと置き換えてみましたが、結果は変わりませんでした。

ver3.0のものでもver2.5のものでも、デザイン画面では問題ありません。(置き換えた直後はタイミングの問題かエラーとなった時もあり)
一方で、プログラムを実行すると、いずれの場合でもエラーになります。(同じエラーです)
また、FlameRobinではいずれの場合でも、正しく参照出来ています。

ただ、バージョンの事だけを考えれば、”C:\Windows\SysWOW64”に存在すべきはver2.5の"fdclient.dll"で良いのですね。
何か基本的な事が間違っている様な気もします。
FireDACのコンポーネントで接続に直接関係するのは、FDConnectionでそこでは参照のデータベース・ファイルのみ指定していて、サーバーに関しては何ら設定はない様です。どこかでサーバーを指定するのでしょうか?

しかし、配布時にアプリと同じフォルダーに”gds32.dll”が存在するかどうかでのみEmbededかLocalhostかを判断していて、プログラムの変更は必要のない(はず)事から、FDConnectionで設定するのはデータベース・ファイルのみでOKな気もします。

深みにはまっています。

編集 削除
igy  2023-06-17 15:04:32  No: 150975  IP: 192.*.*.*

アプリのexeファイルと同じ場所に64bit版のfbclient.dllをコピーしても、同じエラーが表示しますか?

編集 削除
yTake  2023-06-17 15:40:31  No: 150976  IP: 192.*.*.*

アプリと同じフォルダーに64bit版のfdclient.dll(ver3.0)を置いても同じエラーが出ました。
念のため、そのファイル名を"gds32.dll"に変えてみましたが、やはり同じエラーが出ました。
fdclient.dll(ver2.5)を置いたら、エラーは出ませんでした。

デバッグでアプリ実行時にアプリのexeファイルと同じフォルダーに"fdclient.dll"が存在する場合には、Embedded版として動作しますが、存在しない場合、本来、Localhost版として動作すべきがEmbedded版として作動ししかしfdclient.dllが同一フォルダー内に見つからずエラーとなった。
デザイン時はそのexeファイルの同じフォルダー内にfdclient.dllが無い時、正しくLocalhost版として作動し、エラーも出なかったと考えられます。
exeファイルのフォルダーはプロジェクトの64bitフォルダー内のdebugフォルダーで"fdclient.dll"を置いたり外したりしています。
”fdclient.dll”を置き間違えてはいないと思います。
半歩前進でしょうか?

編集 削除
yTake  2023-06-18 01:56:00  No: 150977  IP: 192.*.*.*

考え直してみました。
現時点で、デバッグ・モードで起動して参照出来ているデータベースがLocalhost経由かEmbedded経由かは、はっきりしません。
現状で、開発PCはLocalhostサーバーが稼働している為、アプリのexeフォルダーに"fdclient.dll"("gds32.dll")を置いたとしても、必ずしもEmbededとしての動作か、Localhostとしての動作か、は確認出来ないと思います。
配布PCでは、Localhostサーバーをインストールしていないので、エラーない場合は必ずEmbededとしての動作しかありえません。
ただそれは、今直ぐには確認出来ません。
明日以降の確認になると思います。

編集 削除
igy  2023-06-18 02:05:00  No: 150978  IP: 192.*.*.*

> 参照出来ているデータベースがLocalhost経由かEmbedded経由かは、はっきりしません。 

接続後、
FDConnection1.GetInfoReport(AList, [riClient, riKeepConnected]);
のような感じで、情報が取得でき、
Client DLL name =
の箇所で、使用しているDLLは判るかと思います。

編集 削除
yTake  2023-06-18 08:37:38  No: 150979  IP: 192.*.*.*

ビルド構成"release"で"release"フォルダーに"fdclient.dll"を配置しています。
ビルド構成"debug"で"debug"フォルダーに"fdclient.dll"は置いていません。
この状態で、
"release"構成では、client DLLとして、"release"フォルダーの"fdclient.dll"が参照されています。
"debug"構成では、例の「[FireDAC][Phys][FB]-314.」エラーとなり起動できません。
"debug"構成でも、"debug"フォルダーに"fdclient.dll"を配置すると、正常に起動し、client DLLとして、"debug"フォルダーの"fdclient.dllが参照されています。
つまり、"debug"構成時で"fdclient.dll"が同じフォルダーにない場合には、Localhostサバ―が参照されるべきところが、参照されず、エラーになっている様です。
従って、デバッグ画面のコンポーネントでのデータベース参照もエラーになっているものと思われます。

デバッグ画面でデータベースを参照出来なくても、配布時にEmbedded版を参照出来れば問題はないのですが、出来ればデバッグ画面の時から参照出来ると良いのですが、、、

編集 削除
yTake  2023-06-18 09:54:47  No: 150980  IP: 192.*.*.*

全くの新規にFireMonkeyデスクトップアプリで、FiereDACの"TFDConnection"と"TFDQuery"、DaraAccessから"TDataSource"を配置して、
FDConnectionの接続エディターで、新規にデータベースを作成しました。
FDQueryでプロパティのConnectionでFDConnectionを指定しています。
DataSourceからはDataSetとしてFDQueryを指定する、シンプルなものです。
これで、FDConnectionのConnectedプロパティをTrueにすると、「fdclient.dllが見つからない」エラーとなります。
ビルド構成は”Debug”です。
Firebird 2.5 のLocalhost Serveが稼働している事は、FlameRobinの"Retrieve"で確認出来ています。
DELPHIのForm画面からLocahostへなぜ接続されないのでしょう?
ご教授願えればと思います。

編集 削除
igy  2023-06-18 10:30:27  No: 150981  IP: 192.*.*.*

> DELPHIのForm画面からLocahostへなぜ接続されないのでしょう? 

DelphiのIDEは32bitアプリであり、
Firebird 2.5(64bit)をインストールしているので、64bit版のfbclient.dll は、システムフォルダにあるかもしれませんが、
32bit版のfbclient.dllは、存在しないので、エラーになるのかもしれませんね。

32bit版のfbclient.dllをZIPファイルから取り出して、Pathが通った場所にコピーするか、システムフォルダにコピーすれば
エラーが出なくなるかもしれません。

編集 削除
yTake  2023-06-18 10:58:14  No: 150982  IP: 192.*.*.*

igyさん
ありがとうございます。

Firebird3(64bit)の時は、DELPHIのForm画面でLocalhostに接続できていました。
TGridやTBindNavigatorも設定していて、FDConnectionの"Connected"をTrueにする事で、TGridにデータベースの内容が反映されたていましたし、Navigatorのボタンでレコードを移動出来ていました。

Firebird3にする前ですが、以前のFirebird 2.5の時にも同様でしたが、そのFirebird 2.5が64bitだったか32bitだったかは定かではありません。

現在のDELPHIのオプション設定でのPATHに、"fdclient.dll"(Embedded配布時の物)へのPATHを通せば、改善される可能性があると言う事でしょうか?
過去、その様にわざわざPATHを設定した事はないのですが、、、

編集 削除
igy  2023-06-18 11:08:02  No: 150983  IP: 192.*.*.*

> 現在のDELPHIのオプション設定でのPATHに、"fdclient.dll"(Embedded配布時の物)へのPATHを通せば、改善される可能性があると言う事でしょうか?
> 過去、その様にわざわざPATHを設定した事はないのですが、、、

説明不足ですみません。
DelphiのPathじゃなく、Windows で環境変数 PATH のほうです。
そのPathのいずれかのフォルダに、32bit版のfbclient.dllがあれば、エラーが出なくなるのでは?
と思いまして・・

編集 削除
igy  2023-06-18 11:17:58  No: 150984  IP: 192.*.*.*

ちなみに、昨日、Windows 10(64bit)にFirebird 4.0.2(32bit)をインストールしたら、
(インストール時のオプションで「Copy Firebird client library to <system> directory?」にチェックあり)
fbclient.dllは、C:\WINDOWS\SYSTEM32にコピーされていました。
FireDACを使ったプログラムも、そのDLLを使ってました。

編集 削除
yTake  2023-06-18 21:06:57  No: 150985  IP: 192.*.*.*

こちらでは、"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は切り替わるのでしょう?
簡単にでも良いので、ご教授願えればと思います。

編集 削除
yTake  2023-06-19 00:30:08  No: 150986  IP: 192.*.*.*

Firebird 2.5 (64bit)をFirebird 2.5 (32bit)に入れ替えてみました。(uninstall.exe実行後再起動)
FlameRobinでは問題ありませんが、DELPHIからは繋がりません。
ただ、FlameRobinでも”C:\Windows\SysWOW64”の"fbclient.dll"を参照している事が分かりました。
しかし、今”C:\Windows\SysWOW64”にある”fbclient.dll”が32bit版に付属していたのか64bit版に付属していたのかは分かりません。(ファイルからは区別がつきません)
唯一言えるのは、FlameRobinは特に何もしなくても、両者で問題ない事と、DELPHIからではいずれも接続できない事です。
よくわからなくなって来ています。

編集 削除
igy  2023-06-19 01:19:54  No: 150987  IP: 192.*.*.*

関係ないかもしれませんが、
Delphi XE6は、update1を適用済みですか?

編集 削除
igy  2023-06-19 01:57:10  No: 150988  IP: 192.*.*.*

> ”C:\Windows\SysWOW64”にある”fbclient.dll”が32bit版に付属していたのか64bit版に付属していたのかは分かりません。

Delphi がインストールされた環境で、EXE / DLL が 32bit / 64bit いずれなのかを判別する
https://qiita.com/ht_deko/items/a36419b949c8b7e76912

が参考になるかもしれません。

編集 削除
au  2023-06-19 02:08:52  No: 150989  IP: 192.*.*.*

icudt52l.dat が抜けてないですか?

編集 削除
yTake  2023-06-19 04:12:26  No: 150990  IP: 192.*.*.*

igyさん、auさん、ありがとうございます。

XE6はupdate1を適用済みです。

>icudt52l.dat が抜けてないですか?
とはどう言う事でしょうか?
"icu??52.dll"と言う数字部分が52と言うのは、Firebird3をインストールした時には付属していたと思いますが、現在はFirebird2.5に戻している為、数字部分が30と言う”icu??30.dll”と言うDLLファイルは3つ見つかります。
ただ、それらファイルは”C:\Windows\SysWOW64”には配置してはいません。

この様な感じです。

編集 削除
au  2023-06-19 05:35:09  No: 150991  IP: 192.*.*.*

書いてある通りで、少なくともfirebird3の場合は、ICUのファイルとして
icudt52.dll
icudt52l.dat
icuin52.dll
icuuc52.dll
の4ファイルが必要なようです。
そしてicudt52l.datがないと最初の質問にあった「Could not find acceptable ICU library ...」が表示されるみたいです。
ファイルの配置場所は、PATHが通ってればどこでも良いのでしょうが、Embeddedサーバーの説明とか見てるとアプリケーションと同一のフォルダに配置するのが一般的ぽいですね。
後は、32bitなのか64bitなのか作成されたアプリケーションに合わせてライブラリも選択する必要があります。

編集 削除
yTake  2023-06-21 02:26:24  No: 150994  IP: 192.*.*.*

間が空いてしまいすみません。

プログラム内で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を参照するのではなく、稼働中(メモリーに常駐?)のサーバー・プロセスとのやり取りによって実現されるのではないでしょうか?
あくまで、想像ですが。

編集 削除
igy  2023-06-21 02:57:38  No: 150995  IP: 192.*.*.*

> Firebird 2.5 (64bit)をFirebird 2.5 (32bit)に入れ替えてみました。

とありますが、(32bit版の)fbclient.dllは、C:\WINDOWS\SYSTEM32 にありますか?

編集 削除
au  2023-06-21 03:27:50  No: 150996  IP: 192.*.*.*

32bit版のDLLをSystem32に入れるのは止めた方が良いです。
IDEからEmbeddedで動かそうとするのは面倒な事になるので止めた方が良いんじゃないですかね。
どうしてもIDEからも確認したいというなら、DelphiのインストールフォルダのbinフォルダかSysWow64にEmbeddedのDLLとかを入れないと駄目だと思います。
IDEがロードするのは、上記のフォルダになるでしょうから

編集 削除
igy  2023-06-21 04:14:32  No: 150997  IP: 192.*.*.*

> 32bit版のDLLをSystem32に入れるのは止めた方が良いです。 

あ、すみません。私も勘違いしていました。

64bit版のWindowsでは、SysWow64に 32bit版のfbclient.dll が正しいですね。失礼しました。

編集 削除
yTake  2023-06-21 05:02:44  No: 150998  IP: 192.*.*.*

igyさん、ありがとうございます。
"C:\Windows\SYSTEM32"に"fbclient.dll"(32bit版)がなかったので、配布用のものをコピーしてみました。
PATHも通っているのですが、やはりエラーとなりました。
念の為、bit数を確認するために、"fdclient.dll"の教えて頂いた”TDUMP”を実行してみました。

"C:\Windows\System32"にコピーした後で”TDUMP”の実行結果:
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
Portable Executable (PE) File

Header base: 000000F8

CPU type                 AMD64
Flags                    2022 [ executable linenumbers symbols largeaddr backwards library ]
DLL flags                0000 [ ]
Linker Version           8.0
Time stamp               5D0B4FE0 : Thu Jun 20 18:20:32 2019
O/S Version              4.0
User Version             0.0
Subsystem Version        5.2
Subsystem                0002 [ Windows GUI ]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
なんと、cpuがAMD64となっていて、64bitとなっています。

そこでオリジナルを確認してみました。
元々インストールされた場所で”TDUMP”を実行した結果:
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
Portable Executable (PE) File

Header base: 000000F0

CPU type                 80386
Flags                    2102 [ executable linenumbers symbols backwards 32bit library ]
DLL flags                0000 [ ]
Linker Version           8.0
Time stamp               5D0B4CD2 : Thu Jun 20 18:07:30 2019
O/S Version              4.0
User Version             0.0
Subsystem Version        4.0
Subsystem                0002 [ Windows GUI ]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
なんと、cpuは80386となっていて、32bitと言う事になります。
両者は同じ物でコピーして場所を移しただけです。
存在する場所によって、bit数が変わるのでしょうか?


行なっている事が、何か間違っているでしょうか?

編集 削除
igy  2023-06-21 05:17:25  No: 150999  IP: 192.*.*.*

すみません。
System32には、64bit版のfbclient.dll があるほうが、良さそうなので、
SysWow64に 32bit版のfbclient.dll があるか、確認いただけますか?

編集 削除
mam  2023-06-21 05:23:54  No: 151000  IP: 192.*.*.*

C:\Windows\SYSTEM32
に64bit版dllをいれて、

C:\Windows\SysWOW64
に32bit版dllを入れるのがWindowsのお作法だと思っていました。
お作法の話なので関係ないかもで、外していたらすいません。

編集 削除
yTake  2023-06-21 05:32:29  No: 151001  IP: 192.*.*.*

igyさん、auさん、ありがとうございます。
RESのタイミングがズレてしまいました。

了解です。
"C:\Windows\System32"へ"fbclient.dll"を入れるのは止めにしました。

”C:\Windows\SysWOW64”に入っている"fbclient.dll"のcpu typeをTDUMPで見てみました。
64bit(AMD64)でした。
ただ、これは配布するものと同じだと思います。(ファイル・サイズが同じで、プロパティの詳細のバージョンも同じです)

32bitの"fbclient.dll"を"C:\windows\SysWOW64"に置いてみました。(64bitは別名で退避)
結果はエラーでした。

PCの再起動など必要なのでしょうか?
PATHが通っているところへ置き直しただけなので、再起動は不要と思いました。

今のところ以上です。

編集 削除
yTake  2023-06-21 05:39:03  No: 151002  IP: 192.*.*.*

igyさん、manさん、ありがとうございます。
すみません。私の方でちょっと混乱しています。
現在、
"C:\WIndows\System32"には"fbclient.dll"は入っていません。
”C:\Windows\SysWOW64”にのみ”fbclient.dll”(32bit)が入っています。
これを、
"C:\WIndows\System32"には"fbclient.dll"(64bit)
”C:\Windows\SysWOW64”には”fbclient.dll”(32bit)
と言う様に配置すると言う事でしょうか?
念のための確認です。

編集 削除
yTake  2023-06-21 06:10:42  No: 151003  IP: 192.*.*.*

皆様、大変ありがとうございました。
無事、IDE画面のコンポーネントの操作でもデータベースへの接続や操作が出来る様になりました。

ただ、"SysWOW64"内の64bit:fdclient.dllを32bit:fdclient.dllへ置き換える際、たまたまFlameRobinが起動していて、"SysWOW64"内の64bit:fdclient.dllはFlameRobinから参照されているので終了してから続けて下さいと言うメッセージが出ました。FlameRobin終了後置き換えて、無事、正常化されたわけですが、
FlameRobinは64bit:fdclient.dllとやり取りを行っていたわけで、32bit:fdclient.dllに置き換わる事でFlameRobinで問題が生じるのでは?と懸念されましたが、今現在、正常にFlameRobinの使えています。問題がなくて良かったのですが、何か腑に落ちません。
そう言うものなのでしょうか?

編集 削除
yTake  2023-06-21 08:05:32  No: 151004  IP: 192.*.*.*

念のため、配布のテストもやってみました。
配布先PCを模した別のPCへ本アプリとEmbedded版のfbcliend.dll(fbembeded.dllからリネーム)及びデータベース・ファイルをコピーし、アプリとfbclient.dllは同じフォルダーへ、データベース・ファイルは所定の格納場所(フォルダー)を作成してそこへ置きました。

結果、無事、稼働しました。


助かりました、大変ありがとうございました。

編集 削除