Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/08/2011, 15:35
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
[APORTE] Configurar PDO con MSSQL en window

Saludos,

Escribo este tema para que los que intenten configurar MSSQL en window puedan conectarse. Hay dos formas que me han funcionado. Para los que usen Wamp, Xampp y todos aquellos que hayan sido compilados con VC6 deben:
  • Bajar http://www.microsoft.com/download/en....aspx?id=20098 Ahí contienen los dll necesarios para poder conectarse. Los colocan en el directorio que tiene todas las extensiones.
  • En el php.ini escribir en la sección de las extensiones
    extension=php_pdo_sqlsrv_53_ts_vc6.dll
  • En PDO solo tienen que hacer algo como
    Código PHP:
    Ver original
    1. $server = 'localhost';
    2. $database = 'database';
    3. $username = 'username';
    4. $password = 'password';
    5. $db = new PDO('sqlsrv:Server=' . $server . ';Database='. $database,$username,$password);
    6. $query = $db->prepare('...');
    7. $query->execute();

Si instalaste Zend Server CE según tengo entendido está compilado con VC8, esto hace que no sea compatible con ninguno de los dll mencionados arriba. En uno de los enlaces que encontré en internet mencionan:
Cita:
SQL Server driver source code is available on Codeplex, so you can easily compile it yourself.

El código fuente del driver de SQL Server, está disponible en Codeplex, para que pueda compilarlo usted mismo.
Luego indican como hacerlo. Pero hay una forma más sencilla y la mencionan en el mismo manual de PHP. Es decir solo tienes que descomentar en el php.ini
extension=php_pdo_odbc.dll

Y en el PDO hacer algo como:
Código PHP:
Ver original
  1. $server = 'localhost';
  2. $database = 'database';
  3. $username = 'username';
  4. $password = 'password';
  5. $db = new PDO('odbc:Driver={SQL Server}; Server=' . $server . '; Database=' . $database . '; Uid=' . $username . '; Pwd=' . $password . ';');
  6. $query = $db->prepare('...');
  7. $query->execute();

Espero le sea útil a aquel que le haya dado dolor de cabeza trabajar con este driver
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 13/09/2011 a las 09:23 Razón: ups en los códigos