開発環境
Windows8 Pro(64bit)
DelphiXE3
オラクルクライアント(11gR2)64bit
において、設計時にTSQLConnectionをコネクトすると
「DBXエラー:ドライバを正しく初期化できませんでした。クライアントライブラリが見つからない、正しくインストールされていない、バージョンがまちがっているのいずれか、あるいは、ドライバがシステムパスに含まれていない可能性があります。」
というメッセージが出ます。
dbxora.dllの問題かと思い、
C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\bin64\Dbxora.dll
のdbxora.dllを
C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\bin\dbxora.dll
へコピーすると
「dbxora.dlを読み込めません(エラーコード193)。システムパスに含まれていない可能性があります。」
とエラーが出ます。
色々とググってみましたが解決に至りません。。。。
どなたか解決方法ご存知の方いらっしゃいませんか?
> dbxora.dllの問題かと思い、
> C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\bin64\Dbxora.dll
> のdbxora.dllを
> C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\bin\dbxora.dll
> へコピーすると
64bit 用のドライバを 32bit 用ドライバに上書きしちゃってますよ、コレ。
これは元に戻して下さい。
DB のクライアント DLL のある場所にパスを通せば OK です。
クライアント DLL を $(BDS)\bin に放り込んじゃダメです。パスを通して下さい。
...
64bit OS 上の場合でも、IDE での設計時は 32bit DBX4 ドライバが使われます。
IDE が 32bit アプリケーションなのでそうなります。
故に DB のクライアント DLL も 32bit のものが使われます。
実行時 / デバッグ実行時には 64bit DBX4 ドライバが使われます。
つまり、64bit OS 上で設計時にも実行時にも DBX 接続するのであれば、
32bit / 64bit クライアントのいずれも正常に接続できるようにしなくてはなりません。
[20th-B4: dbExpress とマルチプラットフォーム開発」
http://edn.embarcadero.com/jp/article/images/41633/b4.pdf
DEKO様。ご回答ありがとうございます。
>32bit / 64bit クライアントのいずれも正常に接続できるようにしなくてはなりません。
オラクルクライアントの32bit版をインストールで無事動作しました。
IDE が 32bit ということをすっかり忘れていました。
ありがとうございました。
ツイート | ![]() |