【问题标题】:Connect IBM database using PDO使用 PDO 连接 IBM 数据库
【发布时间】:2017-03-30 17:11:36
【问题描述】:

我尝试使用以下代码通过 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 数据库?

【问题讨论】:

    标签: php pdo db2 odbc


    【解决方案1】:

    有些电脑有不同的驱动名称,这是你可以尝试的驱动列表:

    • DRIVER={iSeries Access ODBC 驱动程序};
    • DRIVER={IBM i Access ODBC 驱动程序};

    并尝试使用System 而不是HOSTNAME

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

    哦,我正在使用DRIVER={IBM i Access ODBC Driver};

    【讨论】:

      【解决方案2】:

      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");
      

      【讨论】:

      • 我也试过了,但我得到一个错误'找不到驱动程序'。您能否建议我,如何安装驱动程序?
      • 我试过 db2_connect() 但它返回一个错误'致命错误:调用未定义函数 db2_connect()'
      • @JimeshGajera,我看到你已经启用了php_pdo_ibm.dll 扩展,但是那个文件真的存在于你的扩展目录中吗?
      • 是的,我已经在扩展目录中添加了这些文件
      猜你喜欢
      • 1970-01-01
      • 2015-01-16
      • 2013-05-14
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多