pdo_odbc 驱动程序问题

Posted

技术标签:

【中文标题】pdo_odbc 驱动程序问题【英文标题】:pdo_odbc driver issue 【发布时间】:2012-04-02 03:44:15 【问题描述】:

我尝试使用 ODBC 连接运行 PDO。 首先,我在 64 位 Windows 上运行,安装了 32 位 WAMP,最后是 32 位 ODBC 驱动程序(64 位不存在)。

感谢:

C:\Windows\SysWOW64\odbcad32.exe

我创建了一个 DSN 测试并尝试了 odbc_connection:

odbc_connect("test", "root" , "root");

连接有效,我可以执行查询。 然后我尝试了 pdo_odbc :

try 
    $dbh = new PDO("odbc:test", "root", "root");
 catch (PDOException $e) 
    echo 'Connection failed: ' . $e->getMessage();

但我得到一个错误...

Connection failed: could not find driver

我不明白为什么 pdo 连接失败 :'(

PS: pdo_odbc 在 phpinfo() 上启用;见下文

【问题讨论】:

【参考方案1】:

我认为您的 DSN 连接字符串不正确。我认为应该是这样的;

odbc:Driver=Driver Name...

查看 PHP 站点上的一些示例。它可能会为您提供一些关于您的 DSN 连接字符串应该是什么的线索...

http://php.net/manual/en/ref.pdo-odbc.connection.php

【讨论】:

【参考方案2】:

最后它只是更愚蠢...我使用的 ODBC 驱动程序(nuoDB win ODBC 驱动程序)不是为使用 PDO 而设计的。

【讨论】:

您找到将 PHP 连接到 MSSQL 的解决方案了吗? 不是用于 MSSQL 而是用于 NuoDB(NewSQL 数据库) @user1477388 我知道它超出了原始问题的范围,但是要将 MSSQL 与 PHP 连接使用 Microsoft microsoft.com/en-us/download/details.aspx?id=20098提供的 SQLSVR 驱动程序@

以上是关于pdo_odbc 驱动程序问题的主要内容,如果未能解决你的问题,请参考以下文章

PDO_ODBC 的字符编码问题

CodeIgniter框架连接读取MS Access数据库文件

在 Mac OSX 上启用 PHP pdo_odbc 扩展

无法通过 PDO_ODBC 从 Access 检索 UTF-8 重音字符

关于PHP安装扩展pdo_odbc

PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】