2013-04-05 188 views
4

我們試圖通過PHP中的ODBC通過我們的SQL數據庫創建連接。PHP PDO 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 

我們希望有人能幫助我們解決這個問題。

+0

試試這個作爲連接字符串:'$ CNX =新PDO(「ODBC:驅動程序= {EFR}; Server = localhost; Port:7004; Database = EFR「,'LcLfVJFLTKTCEHRO','*********'); – 2013-04-05 13:17:26

回答

5

如果你已經擁有的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'))); 
} 
0

嘗試添加的系統DSN,而不是用戶