InterBaseをアンインストール→別バージョンをインストールした後、FireDACからローカルPCのInterBaseへ接続すると、「unavailable database」エラーが発生する
問題
古いバージョンのInterBaseをアンインストールし、新しいバージョンのInterBaseをインストールした後、FireDACからローカルPCのInterBaseへ接続すると、下図のように「unavailable database」エラーが発生することがあります。
原因
RAD Studioでは、IDEメニューの[ツール]-[オプション]-[IDE]-[環境変数]のユーザー定義環境変数で、以下のInterBaseに関連する環境変数を参照しています。
- InterBase
- IB_Protocol
- IBREDISTDIR
InterBaseに関する環境変数は、こちらを参照ください。
このうち、環境変数 InterBaseは、InteBaseをインストールしたルートパスが保持されています。
例えば、InterBase 2017をアンインストールし、InterBase 2020をインストールした場合、環境変数 InterBaseは、InterBase 2017のパスのまま変更されません。この状態で、FireDACからローカルPCのInterBaseへ接続すると、 IDEはInterBaseの古いパスを参照しているため、「unavailable database」エラーが発生します。
解決
RAD Studio IDEが参照する環境変数 InterBaseを、新しくインストールしたInterBaseのパスに置き換える必要があります。
下図は、インストールしたInterBase 2020のパスに変更した例です。
環境変数 InterBaseを変更後、RAD Studio IDEを再起動してください。
RAD Studio IDEを起動後、FireDACからローカルPCのInterBaseへ正常に接続できるようになります。
なお、同一PC内にマルチインスタンスのInterBaseが共存している場合、InterBaseの環境変数が一つに統一できないため、ローカル接続ではなく、TCP/IP接続によってポート番号を明示的に設定する方法をお勧めいたします。詳しくは、こちらを参照ください。