2012-09-24 23 views
10

Probé la aplicación de esquemas Zend Framework 2 y funciona bien en Zend Server 5.6 (PHP Versión 5.4.0 apache 2.2.21 MYSQL 5.0.10). Pero quiero Zend Framework 2 para conectar con MS SQL 2008. He intentado lo siguiente pero no funciona y genera una excepción "Un parámetro no válido a sqlsrv_execute."Zend Framework 2 Microsoft SQL Server 2008 conexión DB

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

cuál es incorrecto con la gama dB por encima ? por favor, me sugieren la cadena de conexión correcta

FYI:

he probado php 5.4 y una conexión con MS SQL 2008 y funciona bien, la siguiente conexión se ha establecido correctamente.

/* 
$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

Finalmente lo tengo trabajo. 'driver' => 'pdo', 'dsn' => 'sqlsrv: database = nómina; Servidor = testserver \ test', – user1692442

+5

Debería poder publicar eso como respuesta a continuación y aceptarlo. Eso es aceptable – ficuscr

+5

Por favor, hazlo, lo estás abarrotando como un tema sin respuesta. – nimdil

Respuesta

1

Como usted técnicamente no "respondió" su propia pregunta, lo haré por usted.

Pruebe estos parámetros de conexión, puede ser que trabajen utilizando DOP:

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

En el archivo global.php añadir el siguiente detalle de la conexión:

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

Para añadir conductor sqlsrv, descargarlo desde url : http://www.microsoft.com/en-us/download/details.aspx?id=20098

Agregue la extensión en su archivo php ini como este y luego reinicie el servidor apache:

extensión = php_sqlsrv_53_ts.dll

Cuestiones relacionadas