Подтвердить что ты не робот

Zend Framework 2 Соединение с Microsoft SQL Server 2008 DB

Я попробовал скелет Zend Framework 2 и его работоспособность в Zend Server 5.6 (PHP версия 5.4.0 apache 2.2.21 MYSQL 5.0.10). Но я хочу, чтобы Zend Framework 2 соединился с MS SQL 2008. Я пробовал следующее, но он не работает и выдает исключение "Недопустимый параметр был передан sqlsrv_execute."

'db' => array(
    'driver'    => 'sqlsrv',
    'hostname'  => 'testserver\test',
    'Database'  => 'payroll',
    'UID'       => 'sa',
    'PWD'       => '123456'
),

Что не так с массивом db? пожалуйста, предложите мне правильную строку подключения

FYI:

Я тестировал соединение php 5.4 и MS SQL 2008, и он работает нормально, следующее соединение было успешно установлено.

/*
$serverName = "testserver\test"; //serverName\instanceName
$connectionInfo = array( "Database"=>"payroll", "UID"=>"sa", "PWD"=>"123456");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
    echo "---------- Connection established --------------------.<br />";     
    $sql = "select * from users";
    $stmt = sqlsrv_query($conn, $sql);
    while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
          echo $row['id'].", ".$row['username']."<br />";
    }    
} else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
*/
4b9b3361

Ответ 1

Как вы не технически "ответили" на свой вопрос, я сделаю это за вас.

Попробуйте эти параметры подключения, они могут работать с PDO:

'db' => array(
    'driver'    => 'pdo',
    'dsn'       => 'sqlsrv:database=payroll;Server=testserver\test',
    'username'  => 'sa',
    'password'  => '123456'
),

Ответ 2

В файле global.php добавьте следующую деталь подключения:

'db' => array(
        'driver' => 'Sqlsrv',
        'hostname' => 'SERVERNAME',
        'Database' => 'DBNAME',
        'uid' => 'username',
        'pwd' => 'password',
)

Чтобы добавить драйвер sqlsrv, загрузите его с URL: http://www.microsoft.com/en-us/download/details.aspx?id=20098

Добавьте расширение в свой файл php ini, как это, а затем перезапустите сервер apache:

расширение = php_sqlsrv_53_ts.dll