sábado, 29 de enero de 2011

Conectar CakePhp 13.x com Microsoft Sql Server 2005/2008 usando PHP 5.3.x

El problema es el siguiente: Al usar PHP 5.3.x ya no disponemos de la extensión php_mssql.dll (en las versión 5.2.x no existe este problema), sino de las extensiones php_sqlsrv_53_*.dll (la que mejor se adapte a tu caso), y por lo tanto no podemos conectar a cakephp con mssql usando el driver mssql en el archivo database.php.

Esto se debe a que Bill cambio entre otras cosas la interfaz de la extensión.

La solución es fácil:

Instalar el sql server native client 2008 r2: sqlncli.msi, lo descargas desde aquí o buscar Microsoft SQL Server 2008 Feature Pack, April 2009 y descargar.

Instalar correctamente las extensiones php_sqlsrv_53*.dll, si es posible crear una página php para verificar que en efecto funcionan. Lo descargas desde aquí o buscar Microsoft Drivers for PHP for SQL Server, el objetivo es el archivo: SQLSRV20.EXE.


Descargar el archivo dbo_sqlsrv.php en app\models\datasources desde aquí o busca en google: DboSqlsrv en el site: github.com.
Tambien puede entrar por https://github.com/cakephp/datasources.

Casi listo: Ahora en el archivo database.php colocas el driver => sqlsrv, guardas y pruebas.

No está demás mencionar que debes haber configurado el cakephp correctamente...

saludos y hasta la próxima, espero que esta entrada de blog os sea de utilidad.