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));
}
*/
Ответы
Ответ 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