我试用了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数组有什么问题?请用正确的连接字符串建议我
仅供参考:
我已经测试了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));
}
*/
答案 0 :(得分:1)
由于你没有在技术上“回答”你自己的问题,我会为你做的。
尝试这些连接参数,它们可能使用PDO:
'db' => array(
'driver' => 'pdo',
'dsn' => 'sqlsrv:database=payroll;Server=testserver\test',
'username' => 'sa',
'password' => '123456'
),
答案 1 :(得分:0)
在您的global.php文件中添加以下连接详细信息:
'db' => array(
'driver' => 'Sqlsrv',
'hostname' => 'SERVERNAME',
'Database' => 'DBNAME',
'uid' => 'username',
'pwd' => 'password',
)
要添加sqlsrv驱动程序,请从网址:http://www.microsoft.com/en-us/download/details.aspx?id=20098
下载在你的php ini文件中添加扩展名,然后重新启动apache server:
延长= php_sqlsrv_53_ts.dll