Sujet: PHP 5.3, Doctrine 2.0, PDO et MS SQL Server
10/06/2010 @ 21:34:40: ovh: PHP 5.3, Doctrine 2.0, PDO et MS SQL Server
Bonjour,

Je n'arrive pas à faire fonctionner PDO et SQL Server sur PHP 5.3.

Mon environnement est le suivant :
Windows XP SP3
Zend Server 5.0 pour PHP 5.3
Microsoft SQL Server 2008 R2 RTM - Express avec les outils d'administration
http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID=967225eb-207b-4950-91df-eeb5f35a80ee
SQL Server Driver for PHP 2.0 CTP1 – April 2010
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=df4d9cc9-459c-4d75-a503-ae3fceb85860

Pour le driver PDO téléchargé depuis le site de MS, j'ai copié le fichier php_pdo_sqlsrv_53_nts_vc9.dll vers le répertoire "phpext" du Zend Server (et je l'ai renommé en php_pdo_sqlsrv.dll), et je l'ai ensuite activé dans l'interface d'administration.

Ca fonctionne, car si je fais

J'ai bien 'sqlsrv' chargé :
array(7) {
[0]=>
string(6) "sqlite"
[1]=>
string(5) "mysql"
[2]=>
string(5) "pgsql"
[3]=>
string(7) "sqlite2"
[4]=>
string(3) "oci"
[5]=>
string(4) "odbc"
[6]=>
string(6) "sqlsrv"
}

Par contre dès que j'essaie d'initier une connexion, j'ai droit à une exception "could not find driver"...

Je n'ai malheureusement pas d'autres alternatives que d'utiliser un driver PDO, et je ne peux pas utiliser ODBC, le but final étant d'interfacer Doctrine 2.0 avec SQL Server...

Help :sweat:
Merci d'avance pour toutes vos idées :smile:
11/06/2010 @ 11:56:21: ovh: PHP 5.3, PDO et MS SQL Server
J'ai trouvé \o/

Pour info, le problème était dans la chaîne de connexion à SQL Server :
  1. $db = new PDO('sqlsrv:localhost,1434\SQLEXPRESS''user''password'array('Database' => 'toto'));


On peut aussi le faire en mode authentification windows, mais ce n'était pas le but.

Bon, maintenant pour intégrer ça à Doctrine 2 ça ne va pas être évident, car de base il rejette le driver "pdo_sqlsrv", il n'accepte que le "pdo_mssql"... :kiki:
11/06/2010 @ 11:58:24: zion: PHP 5.3, PDO et MS SQL Server
Victoiiire \o/

:grin:
11/06/2010 @ 13:35:12: ovh: PHP 5.3, PDO et MS SQL Server
Ou pas, parce que le but est de le mettre dans Doctrine et là ça coince :ohwell: Ils prévoient de le supporter pour la 2.0 finale, qui n'est qu'en beta pour l'instant...
11/06/2010 @ 15:04:34: ovh: PHP 5.3, PDO et MS SQL Server
J'ai trouvé ! :youpi:

En fait vu que le driver DBAL pour pdo_sqlsrv n'existe pas encore dans Doctrine 2.0 beta1, il faut le coder à la main... heureusement ce n'est pas compliqué, il suffit de reprendre les 2 classes PDOMsSql/Driver.php et PDOMsSql/Connection.php et adapter les appels PDO.

Et tout marche enfin :kadreg:

Plus qu'à découvrir comment utiliser Doctrine au quotidien, mais au moins maintenant plus de problème de connexion à la DB :joce:
Retour