在Windows机器上使用php(xampp)连接到db2(pdo_odbc)

时间:2013-09-03 05:39:15

标签: pdo db2 odbc php

我试图在Windows机器上用php(xampp)连接到db2,但是它抛出了这个错误:

  

SQLSTATE [IM002] SQLDriverConnect:0 [Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序

我的功能如下:

 function dbConnect($host, $database, $username, $password)
    {
        try 
        {
            $con = new PDO("odbc:host=$host;dbname=$database", $username, $password);
            $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);   

            return true;            
        } 
        catch(PDOException $e) 
        {
            return $e->getMessage();
        }
    }

请注意我的php_info如下:

enter image description here

顺便说一句,我没有下载/安装任何驱动程序。我的假设是,通过在php.ini中启用(extension = php_pdo_odbc.dll),它应该是可访问的。

1 个答案:

答案 0 :(得分:0)

在Windows中,您无需按照PHP manual中的说明下载任何额外的驱动程序。

以下是手册中的相关部分:

  

在Windows上,PDO_ODBC默认内置在PHP核心中。它与Windows ODBC驱动程序管理器链接,以便PHP可以连接到编目为系统DSN的任何数据库,并且是连接到Microsoft SQL Server数据库的推荐驱动程序。

因此,您需要为DB2定义一个系统DSN(如果您还没有DB2,则此设置可能需要DB2的ODBC驱动程序)并按如下方式实例化PDO:

// Replace SYSTEM_DSN_NAME with appropriate name you setup
$con = new PDO("odbc:SYSTEM_DSN_NAME", $username, $password);