IBM DB2 サーバーへの接続(FireDAC)

提供: RAD Studio
移動先: 案内検索

データベース接続(FireDAC) への移動

このトピックでは、IBM DB2 サーバーへの接続方法を説明します。

サポート対象バージョン

FireDAC ネイティブ ドライバでは、IBM DB2 の Enterprise、Workgroup、Express、または AS/400 エディションのバージョン 8 以降をサポートしています。 バージョン 8.2 以降をお勧めします。 また、FireDAC ODBC ドライバや DBX ブリッジ ドライバを使用して、他の IBM データベース製品を操作することもできます。

クライアント ソフトウェア

Windows 版クライアント ソフトウェア

FireDAC を使用するには、"IBM DATA SERVER DRIVER for ODBC"、"IBM DB2 ODBC DRIVER"、または "IBM DB2 DRIVER FOR ODBC" の x86 または x64 ODBC ドライバをワークステーションにインストールしておく必要があります。これらは次のサイトからダウンロードできます。

ダウンロードして解凍した後、"<クライアント>\bin\db2oreg1 -i" を実行して ODBC ドライバをインストールします。さらに、フィックス パックもダウンロードしてインストールします。

DB2 ODBC ドライバが正しくインストールされていない場合は、接続を試みたときに以下の例外が発生します。


[FireDAC][Phys][ODBC][Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

DB2 AS400

FireDAC は、DB2 AS400 に接続するには、"iSERIES ACCESS ODBC DRIVER" ドライバが必要です。

Linux 版クライアント ソフトウェア

FireDAC は、unixODBC 64 ビット ODBC ドライバ マネージャ ライブラリと IBM DB2 64 ビット ODBC ドライバが必要です。

IBM DB2 64 ビット ODBC ドライバを Linux にインストールするには、それをダウンロードし、次のコマンドを実行してインストールします:

tar -xavf ibm_data_server_driver_for_odbc_cli_linuxx64_v*.tar.*
cd odbc_cli
sudo mkdir -p /opt/ibm/clidriver
sudo cp -r clidriver/* /opt/ibm/clidriver
echo [IBM DB2 ODBC DRIVER] > db2.driver.template
echo Description=IBM DB2 ODBC Driver >> db2.driver.template
echo Driver=/opt/ibm/clidriver/lib/libdb2o.so >> db2.driver.template
echo DontDLClose=1 >> db2.driver.template
echo Threading=1 >> db2.driver.template
odbcinst -i -d -f db2.driver.template

ドライバのリンク

ドライバをリンクするには、以下のいずれかを行います。

  • ツールパレットの[FireDAC Links]ページから、TFDPhysDB2DriverLink コンポーネントをドロップ
  • uses 句に FireDAC.Phys.DB2 ユニットを追加します。

接続定義パラメータ

DB2 接続属性を指定する方法は 2 つあります。DB2 クライアント ソフトウェアで DB2 接続エイリアスが構成されている場合には、アプリケーションで Alias パラメータを指定します。エイリアスが構成されていない場合には、ProtocolServerPortDatabase の各パラメータを指定します。また、User_NamePassword も指定します(詳細は「接続の定義(FireDAC)」を参照)。

DriverID=DB2

パラメータ 説明 値の例
Alias 接続エイリアス。 MyDB2Srv
Server ホスト名(Alias を指定していない場合)。 127.0.0.1
Port ポートの値(Alias を指定していない場合)。 5000
Database データベース名(Alias を指定していない場合)。 ADDEMO
Protocol プロトコル名(Alias を指定していない場合)。 TCPIP
User_Name DB2 ユーザー名。 db2admin
Password データベース ユーザー パスワードです。'{' と '}' を含むパスワードはサポートされていません。 master
LoginTimeout 接続の確立中にアプリケーションがタイムアウトするまでの時間(秒単位)を制御します(0 の場合は無限に待つことを指定します)。 30
StringFormat

文字列値を表す方式を次のいずれかとして定義します。

  • Choose -- 宣言されたデータ型の名前に応じて ftString/ftWideString/ftMemo/ftWideMemo として表します(デフォルト)。
  • Unicode -- 常に ftWideString/ftWideMemo として表します。
Unicode
ExtendedMetadata

クエリ結果セットの拡張記述を次のように制御します。

  • True -- FireDAC により、取得可能なすべての列属性(読み取り専用かどうか、自動インクリメントするかどうか、列の生成元など)を取得するよう結果セットが記述されます。このオプションを True に設定すると、データセットが開くのが少し遅くなります。
  • False -- クエリ列に関する制限された情報だけが使われます(デフォルト)。
True
ODBCAdvanced その他の任意の ODBC 接続パラメータ値を追加で指定することができます。デフォルト値は "IGNOREWARNINGS=1" です。
TxSupported DB2 データベースが SQL トランザクションをサポートしているかどうかを示します。
  • はい。 DB2 データベースはトランザクションをサポートしている。 これがデフォルト値です。
  • いいえ。 DB2 データベースはトランザクションをサポートしていない。
    メモStartTransactionCommitRollback メソッド呼び出しがエラーを引き起こした場合、このパラメータを いいえ に設定します。 例:
    • トランザクションに、NOT LOGGED INITIALLY オプションで作成された DB2 データベース テーブルが含まれている場合。
    • AS400 DB2 データベースに、無効化されているトランザクション ログがある場合。
Yes
MetaDefSchema デフォルト スキーマ名です。スキーマ名が MetaDefSchema と同じ場合、設計時コードではオブジェクト名からスキーマ名が省略されます。 db2admin

使用例

  • 既存のデータベース エイリアスを使用して DB2 に接続する場合:


DriverID=DB2
Alias=addemo
User_Name=db2admin
Password=mypwd
MetaDefSchema=db2admin
  • 完全な接続情報を使用して DB に接続する場合:


DriverID=DB2
Server=127.0.0.1
Database=addemo
Port=50000
Protocol=TCPIP
User_Name=db2admin
Password=mypwd
MetaDefSchema=db2admin
  • DB2 AS400 への接続
DB2 AS400 へ接続するには、次の手順を実行します:
  1. TFDConnection および TFDPhysDB2DriverLink コンポーネントを TForm にドロップします。
  2. TFDPhysDB2DriverLink.ODBCDriver プロパティを 'iSeries Access ODBC Driver' に設定します。
  3. TFDConnection をダブルクリックして、Driver IDDB2 に設定します。
  4. [ウィザード] ボタンを押します。
  5. 接続パラメータを、ODBC ドライバ ダイアログを使用して埋めます。
  6. [OK] ボタンを押して、パラメータを保存します。

関連項目