【问题标题】:PHP PDO ODBC connectionPHP PDO ODBC 连接
【发布时间】:2013-03-27 17:02:42
【问题描述】:

我们正在尝试通过 PHP 中的 ODBC 创建与我们的 SQL 数据库的连接。

这是我们当前的脚本:

$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

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

【问题讨论】:

  • 试试这个作为你的连接字符串:$cnx = new PDO("odbc:Driver={EFR};Server=localhost;Port:7004;Database=EFR", 'LcLfVJFLTKTCEHRO', '*********');

标签: php pdo odbc qlikview


【解决方案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')));
}

【讨论】:

  • 你好,DNS_NAME是什么,可以是IP吗?
  • 使用字符串“odbc:DNS_NAME”得到{"outcome":false,"message":"Unable to connect"}
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2016-10-19
    • 2013-12-08
    • 2018-09-01
    • 2020-02-29
    • 2016-07-24
    • 2018-03-16
    • 2014-02-04
    • 1970-01-01
    • 2016-04-21
    相关资源
    最近更新 更多