FireDACからXE6に付属するInterBase XE3 Developerへ接続すると、product InterBase is not licnesedエラーが発生する
問題
FireDACからRAD Studio/C++Builder/Delphi XE6に付属するInterBase XE3 Developerへ接続しようとすると、以下のようなエラーが発生し、接続できないことがあります。
解説
これは、環境変数PATH内にgds32.dllが見つからないことが原因です。以下は、環境変数PATH内にgds32.dllが見つからないケースの例です。この情報は、TFDConnectionをフォーム上に配置し、接続パラメータを設定した後、[情報]タブを選択して確認しています。
FireDACは環境変数PATH内に存在するInterBaseのクライアントドライバを検索しますが、その見つかったクライアントドライバがgds32.dllではなく、ibtogo.dllといったライセンスの種類が異なるファイル名の場合、InterBase XE3 Developerへ接続しようとしてもライセンス形態の不一致が生じるため、結果的に「product InterBase is not licnesed」というエラーになります。
解決
gds32.dllを含むInterBase XE3のパスを環境変数PATHへ追加してください。環境変数PATHを変更する簡単な手順は、以下の通りです。
- [コントロールパネル]-[システム]-[システムの詳細設定]を選択
- [環境変数]ボタンをクリックし、システム環境変数の変数 Pathの先頭に以下のパスを追加
- 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
- [OK]ボタンを押して、システム設定を保存
- XE6を再起動
本件は、XE6以前のバージョンをご利用のケースでも同様の症状が発生することがあります。その場合は、環境変数Pathに追加するInterBaseのパスを変更してください。
gds32.dllに関連した問題は、以下の情報も参照ください。