10

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));
}
*/
4

2 に答える 2

1

あなたは技術的にあなた自身の質問に「答えた」わけではないので、私があなたに代わって答えます。

これらの接続パラメーターを試してください。PDO を使用して機能する可能性があります。

'db' => array(
    'driver'    => 'pdo',
    'dsn'       => 'sqlsrv:database=payroll;Server=testserver\test',
    'username'  => 'sa',
    'password'  => '123456'
),
于 2014-01-28T02:22:02.547 に答える
0

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

于 2015-06-10T11:35:27.050 に答える