ODBC не хочет соединяться с pdo - PullRequest
0 голосов
/ 02 мая 2019

В настоящее время я пытаюсь установить соединение между сервером SQL и веб-сайтом php.Я попытался с odbc_connect и все работает "отлично", но я хотел бы использовать "PDO", но у меня есть ошибка с ним.


    $server = 'SRV';
    $database = 'NOUVO_DB';
    $user = 'tUSERNAME';
    $password = 'XXXXX';

    $connection = odbc_connect("Driver={SQL Server Native Client 11.0};Server=$server;Database=$database;", $user, $password);
    print_r($connection);

    $sql = 'SELECT * FROM personnelVisiteur';
    $result = odbc_exec($connection, $sql);  //returns data

    while(odbc_fetch_row($result)){

        for($i=1;$i<=odbc_num_fields($result);$i++){
            echo "Result is ".odbc_result($result,$i) .'<br>';
        }
    }

    echo '<h1>PDO:</h1>';

    try { 
        $pdo_con = new PDO("odbc:Driver={SQL Server Native Client 11.0}", $user, $password);
        print_r($pdo_con);
    } catch (PDOException $exception) { 
      echo $exception->getMessage(); 
      exit; 
    } 

Вывод:

ODBC CONNECT:

Resource id #2

PDO:
SQLSTATE[HY090] SQLConnect: 0 [Microsoft][Gestionnaire de pilotes ODBC] Longueur de cha�ne ou de m�moire tampon non valide =>  Invalid string or buffer length

Спасибо.

Может быть, ошибка на 64-битном сервере?

1 Ответ

0 голосов
/ 02 мая 2019

Это было мое плохо, я думаю:

Если у кого-то есть проблема:

$pdo_con = new PDO("odbc:Driver={SQL Server Native Client 11.0};server=$server;database=$database", $user, $password);

Вам необходимо указать в первом параметре: "odbc: Драйвер {ИМЯ ДРАЙВЕРА}; сервер = $ сервер; база данных = $ база данных"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...