我尝试使用以下代码通过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();
}
我得到同样的
以下错误SQLSTATE[IM002] SQLDriverConnect: 0 [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
我还在php.ini文件中添加了以下代码
extension=php_pdo.dll
extension=php_pdo_ibm.dll
extension=php_ibm_db2.dll
有人可以建议我,我如何与IBM数据库连接?
答案 0 :(得分: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");
答案 1 :(得分:0)
某些计算机有不同的驱动程序名称,这是您可以尝试的驱动程序列表:
并尝试使用System
代替HOSTNAME
DRIVER={iSeries Access ODBC Driver};DATABASE=BLUDB;System=hostname;PORT=50000;PROTOCOL=TCPIP;
哦,我正在使用DRIVER={IBM i Access ODBC Driver};