2012-09-24 17 views
10

Ho provato l'applicazione scheletro Zend Framework 2 e funziona correttamente in Zend Server 5.6 (versione 5.4.0 apache 2.2.21 MYSQL 5.0.10 di PHP). Ma voglio Zend Framework 2 per collegare con MS SQL 2008. Ho provato quanto segue ma non funziona e genera un'eccezione "Un parametro non valido è stato passato a sqlsrv_execute."Zend Framework 2 Connessione DB Microsoft SQL Server 2008

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

cosa è sbagliato con sopra serie db ? per favore mi suggeriscono con la stringa di connessione corretta

FYI:

Ho testato php 5.4 e MS SQL 2008 e il collegamento funziona benissimo, il seguente connessione è stata stabilita con successo.

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

Alla fine ho capito di lavoro. 'driver' => 'pdo', 'dsn' => 'sqlsrv: database = paghe; Server = testserver \ test', – user1692442

+5

Dovresti poterlo postare come risposta e accettarlo. È accettabile – ficuscr

+5

Per favore, lo stai ingombrando come argomento senza risposta. – nimdil

risposta

1

Come non hai tecnicamente "risposto" alla tua domanda, lo farò per te.

Prova questi parametri di connessione, che potrebbe funzionare utilizzando DOP:

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

Nel file global.php aggiungere il particolare sotto collegamento:

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

Per aggiungere il driver SQLSRV, scaricarlo da url : http://www.microsoft.com/en-us/download/details.aspx?id=20098

Aggiungi estensione nel tuo file php ini come questo e quindi riavvia il server Apache:

extension = php_sqlsrv_53_ts.dll

Problemi correlati