2013-04-05 6 views
4

Мы пытаемся создать соединение с нашей базой данных SQL ODBC в PHP.Соединение 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

Try это в качестве строки подключения: '$ CNX = новый PDO (" ODBC: Driver = {EFR}; Server = localhost; Порт: 7004; База данных = EFR ", 'LcLfVJFLTKTCEHRO', '*********');' –

ответ

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 на системе вместо пользователя

Смежные вопросы