PHP PDO ODBC连接

PHP PDO ODBC连接,php,pdo,odbc,qlikview,Php,Pdo,Odbc,Qlikview,我们正试图通过PHP中的ODBC与SQL数据库建立连接 这是我们当前的脚本: $cnx = new PDO("odbc:Driver={EFR};Server=localhost;Port:7004;Database=EFR;Uid=LcLfVJFLTKTCEHRO;Pwd=*********;"); 驱动程序正在Qlikview中工作,Qlikview也连接到此数据库 该驱动程序实际上是由PHP找到的,但我们认为它无法登录 PHP返回以下错误: 致命错误:在C:\Program Files

我们正试图通过PHP中的ODBC与SQL数据库建立连接

这是我们当前的脚本:

$cnx = new PDO("odbc:Driver={EFR};Server=localhost;Port:7004;Database=EFR;Uid=LcLfVJFLTKTCEHRO;Pwd=*********;"); 
驱动程序正在Qlikview中工作,Qlikview也连接到此数据库

该驱动程序实际上是由PHP找到的,但我们认为它无法登录

PHP返回以下错误:

致命错误:在C:\Program Files(x86)\EasyPHP-12.1\www\index.php:2中出现未捕获的异常“PDOException”,消息为“SQLSTATE[IM001]SQLDriverConnect:0无事务控制系统”
堆栈跟踪:
#0 C:\ProgramFiles(x86)\EasyPHP-12.1\www\index.php(2):PDO->\uuu构造('odbc:Driver={EF…'))
#在第2行的C:\Program Files(x86)\EasyPHP-12.1\www\index.php中抛出1{main}

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

如果您已经定义了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')));
}

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

尝试将其作为连接字符串:
$cnx=new PDO(“odbc:Driver={EFR};Server=localhost;Port:7004;Database=EFR“,'LcLfVJFLTKTCEHRO','********”);
嗨,DNS_名称是什么,可以是IP号?使用字符串“odbc:DNS_名称”,结果是
{output:false,“message”:“无法连接”}