我们正在尝试通过 PHP 中的 ODBC 创建与我们的 SQL 数据库的连接。
这是我们当前的脚本:
$cnx = new PDO("odbc:Driver={EFR};Server=localhost;Port:7004;Database=EFR;Uid=LcLfVJFLTKTCEHRO;Pwd=*********;");
驱动程序在 Qlikview 中运行,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
我们希望有人能帮助我们解决这个问题。
最佳答案
如果您已经定义了 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')));
}
关于PHP PDO ODBC 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15831246/