2009-03-11 8 views
0

J'essaie d'utiliser Zend Framework avec SQL Server 2005 Express (via Pdo_Mssql avec l'installation wamp) mais semble que pdo ne peut pas se connecter à SQL. Ceci est mon code:Zend Framework et SQL Server

require '../application/bootstrap.php'; 

try { 
    $db = Zend_Db::factory('Pdo_Mssql', array(
    'host'  => 'localhost', 
    'username' => 'sa', 
    'password' => 'verystrongpass', 
    'dbname' => 'msdb' 
)); 
    $db->getConnection(); 
} catch (Zend_Db_Adapter_Exception $e) { 
    $e->getMessage(); 
} catch (Zend_Exception $e) { 
    $e->getMessage(); 
} 


$sql = 'SELECT * FROM table'; 

$result = $db->fetchAll($sql); 

echo "----------------" . var_dump($result); 

et le résultat d'erreur est toujours:

Fatal error: Uncaught exception 'Zend_Db_Adapter_Exception' with message 'SQLSTATE[01002] Unable to connect: SQL Server is unavailable or does not exist. (severity 9)' in C:\wamp\bin\php\php5.2.5\lib\Zend\Db\Adapter\Pdo\Abstract.php:130 Stack trace: #0 C:\wamp\bin\php\php5.2.5\lib\Zend\Db\Adapter\Pdo\Mssql.php(135): Zend_Db_Adapter_Pdo_Abstract->_connect()

1 C:\wamp\bin\php\php5.2.5\lib\Zend\Db\Adapter\Abstract.php(389):Zend_Db_Adapter_Pdo_Mssql->_connect()

2 C:\wamp\bin\php\php5.2.5\lib\Zend\Db\Adapter\Pdo\Abstract.php(205):Zend_Db_Adapter_Abstract->query('SELECT * FROM t...', Array)

3 C:\wamp\bin\php\php5.2.5\lib\Zend\Db\Adapter\Abstract.php(616): Zend_Db_Adapter_Pdo_Abstract->query('SELECT * FROM t...', Array)

4 C:\Documents and Settings\Luca\Documenti\Workspace\web\db\public\index.php(27): Zend_Db_Adapter_Abstract->fetchAll('SELECT * FROM t...') #5 {main} thrown in C:\wamp\bin\php\php5.2.5\lib\Zend\Db\Adapter\Pdo\Abstract.php on line 130

Alors quelqu'un a une certaine expérience avec ZF + serveur SQL, serveur SQL besoin d'une configuration spéciale? En temps d'installation, j'ai seulement spécifié d'utiliser l'istance par défaut et d'utiliser l'authentification mixte. En outre, je peux réussir à se connecter avec db via Microsoft SQL Server Management Express.

Répondre

1

Toutes les installations SQL Server Express sur une instance nommée de SQLEXPRESS plutôt qu'une instance par défaut - voir this.

Ainsi, votre hôte devrait ressembler

'host'  => 'localhost\SQLEXPRESS' 
+0

obtenu le même problème. –

0

Pouvez-vous svp vérifier dans votre fichier php.ini, que vous avez activé le Pdo_Mssq.dll

Si pas retirer le « ; » devant la Pdo_Mssql.dll

Dan

+1

Aucun pied de page de spam s'il vous plaît; ils * seront * supprimés. –

0

Je pense que votre

configuration 'host' => 'localhost\SQLEXPRESS'

devrait ressembler à:

'host' => 'computer_name\SQLEXPRESS'