PHP PDO ODBC连接(PHP PDO ODBC connection)

2019-08-19 18:54发布

我们正努力创造与我们在PHP中的SQL数据库槽ODBC连接。

这是我们当前的脚本:

$cnx = new PDO("odbc:Driver={EFR};Server=localhost;Port:7004;Database=EFR;Uid=LcLfVJFLTKTCEHRO;Pwd=*********;"); 

该驱动器工作在的QlikView也连接到这个数据库。

该驱动器实际上是由PHP发现,但我们认为它只是无法登录。

PHP将返回以下错误:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[IM001] SQLDriverConnect: 0 No transaction control system' in C:\Program Files (x86)\EasyPHP-12.1\www\index.php:2
Stack trace:
#0 C:\Program Files (x86)\EasyPHP-12.1\www\index.php(2): PDO->__construct('odbc:Driver={EF...')
#1 {main} thrown in C:\Program Files (x86)\EasyPHP-12.1\www\index.php on line 2

我们希望有人能帮助我们解决这个问题。

Answer 1:

如果你已经在ODBC定义和存储的密码,你可以简单地连接

$conn = new PDO("odbc:DSN_NAME") 

其中DSN_NAME是你的ODBC数据源的实际名称,是它的MySQL,SQL Server或DB2。

您可以测试使用以下的连接:

try{
    $conn = new PDO ("odbc:DSN_NAME");

    die(json_encode(array('outcome' => true)));
}
catch(PDOException $ex){
     die(json_encode(array('outcome' => false, 'message' => 'Unable to connect')));
}


Answer 2:

尝试在系统中添加DSN,而不是用户



文章来源: PHP PDO ODBC connection