Connect IBM database using PDO

元气小坏坏 提交于 2019-12-11 03:27:24

问题


I tried connect IBM database through PDO using below code. But, it is not working

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();
}

I got below error for the same

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

I have also added below code in php.ini file

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

Could anyone suggest me, how I can connect with IBM database?


回答1:


The DSN prefix for DB2 databases is ibm:, not odbc:. Try changing that.

Here is the example connection string given in the documentation:

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



回答2:


there is different driver name for some computer, this is the list of driver you can try:

  • DRIVER={iSeries Access ODBC Driver};
  • DRIVER={IBM i Access ODBC Driver};

and try to use System instead of HOSTNAME

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

oh, and I'm using DRIVER={IBM i Access ODBC Driver};



来源:https://stackoverflow.com/questions/40633233/connect-ibm-database-using-pdo

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!