2016-11-16 14 views
1

IBMデータベースをPDO経由で以下のコードを使用して接続しようとしました。しかし、それはPDOを使用してIBMデータベースを接続してください

try { 
    $db = new PDO("odbc:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=BLUDB;HOSTNAME=hostname;PORT=50000;PROTOCOL=TCPIP;", "username", "password"); 
    echo "<pre>"; 
    print_r($db); 
    exit; 
} catch (PDOException $e) { 
    echo $e->getMessage(); 
} 

が動作していない私はまた、php.iniファイル内のコードの下に追加した

SQLSTATE[IM002] SQLDriverConnect: 0 [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified 

同じ

ため、エラーの下になった

extension=php_pdo.dll 
extension=php_pdo_ibm.dll 
extension=php_ibm_db2.dll 

誰も私を示唆してもらえ、私はIBMデータベースにどのように接続できますか?

答えて

0

The DSN prefix for DB2 databases is ibm:ではなく、odbc:です。それを変更してみてください。ここで

は、ドキュメントに与えられた例の接続文字列です:

$db = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=testdb;" . 
    "HOSTNAME=11.22.33.444;PORT=56789;PROTOCOL=TCPIP;", "testuser", "tespass"); 
+0

を使用しています。あなたは私に示唆してください、私はどのようにドライバをインストールできますか? –

+0

私はdb2_connect()を試みましたが、 '致命的なエラー:未定義の関数db2_connect()'をコールします。 –

+0

@JimeshGajera、 'php_pdo_ibm.dll'拡張を有効にしていますが、 extensionsディレクトリ? – Chris

0

いくつかのコンピュータに別のドライバ名は、これはあなたが試すことができ、ドライバのリストで、そこにある:

  • DRIVER = { iSeries Access ODBCドライバー};
  • DRIVER = {IBM i Access ODBC Driver};

とはSystem代わりHOSTNAME

DRIVER={iSeries Access ODBC Driver};DATABASE=BLUDB;System=hostname;PORT=50000;PROTOCOL=TCPIP; 

ああを使用しよう、と私は、私もそれを試してみましたが、私は「ドライバを見つけることができませんでした」というエラーを得たDRIVER={IBM i Access ODBC Driver};

関連する問題