DB2 PHPドライバーを使ってIBM i(AS/400)データベースに接続する
PHPでIBM i(AS/400)データベースに接続する方法
必要なもの
- PHP
- ODBCドライバー
- IBM i(AS/400)データベースへの接続情報
手順
-
ODBCドライバーのインストール
IBM i(AS/400)に接続するには、IBMから提供されているODBCドライバーをインストールする必要があります。
-
Windowsの場合
- IBM i Access Client Solutions for Windowsをダウンロードします。
- ダウンロードしたファイルをインストールします。
- インストール時に「ODBC Driver for iSeries」を選択肢ます。
-
Linuxの場合
-
-
PHPの設定
php.iniファイルにODBCに関する設定を追加する必要があります。
; ODBC ドライバーの読み込み extension=php_odbc.dll
-
接続コードの作成
以下のコードのように、odbc_connect()関数を使用してデータベースに接続します。
<?php // 接続情報 $dsn = 'odbc:DRIVER={IBM iSeries Access ODBC Driver};SYSTEM={YOUR_SYSTEM_NAME};DATABASE={YOUR_DATABASE_NAME};UID={YOUR_USER_ID};PWD={YOUR_PASSWORD};'; // 接続 $conn = odbc_connect($dsn); // クエリの実行 $result = odbc_exec($conn, 'SELECT * FROM YOUR_TABLE'); // データの処理 while ($row = odbc_fetch_array($result)) { echo $row['column_name']; } // 接続の切断 odbc_close($conn); ?>
注意事項
- 上記の手順は基本的なものです。詳細は各環境に合わせて調整してください。
- IBM i(AS/400)データベースへの接続には、セキュリティ上の考慮事項があります。接続情報を適切に管理するなど、セキュリティ対策を講じてください。
補足
- ODBC以外にも、DB2 PHPドライバーを使用して接続することもできます。
- Zend ServerなどのPHPアプリケーションサーバーを使用している場合は、ODBCドライバーの設定方法が異なる場合があります。詳細は各製品のドキュメントを参照してください。
<?php
// 接続情報
$dsn = 'odbc:DRIVER={IBM iSeries Access ODBC Driver};SYSTEM=YOUR_SYSTEM_NAME;DATABASE=YOUR_DATABASE_NAME;UID=YOUR_USER_ID;PWD=YOUR_PASSWORD;';
// 接続
$conn = odbc_connect($dsn);
// クエリの実行
$result = odbc_exec($conn, 'SELECT * FROM YOUR_TABLE');
// データの処理
while ($row = odbc_fetch_array($result)) {
echo $row['column_name'] . "\t";
}
// 接続の切断
odbc_close($conn);
?>
- このコードは、
YOUR_SYSTEM_NAME
、YOUR_DATABASE_NAME
、YOUR_USER_ID
、YOUR_PASSWORD
を環境に合わせて変更する必要があります。 odbc_exec()
関数で実行するクエリは、必要に応じて変更してください。odbc_fetch_array()
関数は、結果を配列として取得します。
実行例
$ php sample.php
column_name1 column_name2 column_name3
----------------------------------------
value1 value2 value3
value4 value5 value6
IBM i(AS/400)データベースに接続するその他の方法
ODBCドライバー以外にも、DB2 PHPドライバーを使用して接続することができます。DB2 PHPドライバーは、IBM i(AS/400)データベースに特化したドライバーであり、ODBCドライバーよりも高速で安定した接続が可能です。
php database odbc