Cita:
Iniciado por ruxee Estuve buscando como conectarme al SQLServer 2008 R2 desde php y por mas que busque no encontré ningun post que ayudara y explicara. Finalmente luego de casi un dia logre hacerlo y comparto para que no pierdan mas tiempo.
Mi ambiente:
XAMPP 2.5
Windows Vista
Microsoft SQL Server 2008 R2
Pasos:
- Obtener el entorno bajo el cual esta funcionando mi servidor, para esto debo:
- Abrir mi PHP info en [URL="http://localhost/xampp/"]http://localhost/xampp/[/URL]
- tomar nota del valor de Thread Safety, en mi caso =enabled
- Tomar el valor de la version de PHP, en mi caso 5.3.8
- Tomar el valor de Compiler, en mi caso VC9
- Descargar de Microsoft los drivers respectivos. Los podes hallar en [URL="http://www.microsoft.com/download/en/details.aspx?id=17308"]http://www.microsoft.com/download/en/details.aspx?id=17308[/URL] Microsoft Drivers 3.0 for SQL Server for PHP CTP1.
- Instalar los drivers en el directorio donde esta xampp. En mi caso esta en c:/xampp/php/ext
- Luego buscar en esos directorios los archivos instalados, que debieran ser similares a php_sqlsrv_53_ts_vc9.dll donde:
- 53 -> indica el version de mi PHP=5.3.x
- ts -> significa que el para entorno THREAD-SAFE=enabled
- vc9 -> indica que el compilador de mi PHP es VC9
- Entonces tomo nota del nombre del archivo correspondiente php_sqlsrv_53_ts_vc9.dll
- Editar el PHP.ini que en mi caso está en c:/xampp/php, donde:
- Busco el inicio del segmento Dynamic Extensions
- Al final del segmento, y antes del siguiente, agrego la extension de mi libreria, la cual quedaria extension=php_sqlsrv_53_ts_vc9.dll. Donde he usado el nombre del archivo instalado en el paso 4.
- Grabo el php.ini y lo cierro
- Detengo y reinicio mi servicio Apache
A estas alturas ya cargo la libreria proporcionada por Microsoft y estamos listos para usar todos los comandos de conexion.
Yo usé este script
Código PHP:
$serverName = "RUXEE-NOTEBOOK\SQLEXPRESS";
$connectionInfo = array( "Database"=>"ModFinPQP");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Conectado a la Base de Datos.<br />";
}else{
echo "NO se puede conectar a la Base de Datos.<br />";
die( print_r( sqlsrv_errors(), true));
}
Debido a que no indico usuario y password el conector se enlaza a la BD por medio de mi Windows Authentication, sino debera especificarse usuario y password con la misma sintaxis con la que esta
$connectionInfo
Me basé en la lectura del manual de PHP.net en [URL="http://www.php.net/manual/en/book.sqlsrv.php"]http://www.php.net/manual/en/book.sqlsrv.php[/URL] donde estan todas las funciones de este buenisimo driver.
Espero les ayude, he tratado de explicarlo sin dejar lagunas.
Muchas gracias ruxee! ahora pude conectarme utilizando sqlsrv!! muy buen post
, pero tengo una pregunta, bueno pues yo intento ahora conectarme utilizando mssql_connect(); pero me arroja este error:
Fatal error: Call to undefined function mssql_connect()
¿Por qué crees que me aparesca este error?
Ya puse las dll "php_mssql.dll", "php_msql.dll" y "ntwdblib.dll" y en en el archivo php.ini las llame: "extension=php_mssql.dll", "extension=php_msql.dll" y "extension=ntwdblib.dll".
Utilizo Xampp 1.8.1 y php 5.4.7. ¿Por qué no puede reconocer la función mssql_connect() para conectarme con esta?
Saludos, gracias y espero puedas o puedan darme una idea del por qué no puedo conectarme a SQL Server 2008 con esta función.