データエクスプローラからInterBase XE3 Developerに接続することができない症状について

概要: 発生している症状に関する原因と解決方法について説明します

dummy

対象となるIDE製品

RAD Studio/C++Builder/Delphi XE6

dummy

    問題

データエクスプローラからInterBase XE3 Developerへ接続しようとすると、以下のようなエラーが発生し、接続できないことがあります。

dummy

Hide image
Click to see full-sized image

図1: データエクスプローラ(FireDAC)

Hide image
Click to see full-sized image

図2: データエクスプローラ(dbExpress)

dummy

    原因

環境変数PATH内にInterBaseの旧バージョンのクライアントドライバ(gds32.dll)を含むパスがあり、それがInterBase XE3のgds32.dllよりも先に参照されていると、

XE6のIDE(Windowsの実行プログラム)はInterBaseの旧バージョンのgds32.dllをロードするため、バージョン間の互換性の問題で、InterBase XE3へ接続できません。

dummy

例えば、FireDACでロードしているInterBaseのクライアントドライバ(gds32.dll)のパスとバージョンを確認する方法は、TFDConnectionをフォーム上に配置し、接続パラメータを設定した後、[情報]タブを選択してください。

dummy

Hide image
Click to see full-sized image

dummy

    解決

InterBaseの旧バージョンのgds32.dllよりも先に、InterBase XE3のgds32.dllが参照されるように環境変数PATHの順序を変更する必要があります。

環境変数PATHを変更する簡単な手順は、以下の通りです。

dummy

1.[コントロールパネル]-[システム]-[システムの詳細設定]を選択

dummy

2.[環境変数]ボタンをクリックし、システム環境変数の変数 Pathの先頭に以下のパスを追加

dummy

Windows 32ビットOS:

C:\Program Files\Embarcadero\Studio\14.0\InterBaseXE3\bin

Windows 64ビットOS:

C:\Program Files (x86)\Embarcadero\Studio\14.0\InterBaseXE3\bin

dummy

3.[OK]ボタンを押して、システム設定を保存

dummy

4.XE6を再起動

dummy

本件は、XE6以前のバージョンをご利用のケースでも同様の症状が発生することがあります。

その場合は、環境変数Pathに追加するInterBaseのパスを変更してください。

dummy