Foros del Web » Programando para Internet » PHP » Configuración PHP »

[SOLUCIONADO] Conectarse a MS-SQL Server 2008 desde PHP

Estas en el tema de Conectarse a MS-SQL Server 2008 desde PHP en el foro de Configuración PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 01/03/2012, 17:19
Avatar de ruxee
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: USA
Mensajes: 131
Antigüedad: 21 años, 8 meses
Puntos: 7
Conectarse a MS-SQL Server 2008 desde PHP

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:
  1. Obtener el entorno bajo el cual esta funcionando mi servidor, para esto debo:
    • Abrir mi PHP info en http://localhost/xampp/
    • 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
  2. Descargar de Microsoft los drivers respectivos. Los podes hallar en http://www.microsoft.com/download/en....aspx?id=17308 Microsoft Drivers 3.0 for SQL Server for PHP CTP1.
  3. Instalar los drivers en el directorio donde esta xampp. En mi caso esta en c:/xampp/php/ext
  4. 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
  5. 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
  6. 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_rsqlsrv_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 http://www.php.net/manual/en/book.sqlsrv.php donde estan todas las funciones de este buenisimo driver.

Espero les ayude, he tratado de explicarlo sin dejar lagunas.
  #2 (permalink)  
Antiguo 01/03/2012, 17:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Gracias por el aporte

Se complementa con este:

http://www.forosdelweb.com/f142/apor...window-937080/
  #3 (permalink)  
Antiguo 02/03/2012, 02:50
Avatar de ruxee
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: USA
Mensajes: 131
Antigüedad: 21 años, 8 meses
Puntos: 7
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Si esta bueno el complemento, solo aporto que tomen en cuenta que no necesariamente tiene que ser ese archivo el agregado en las extensiones dinamicas, depende de su entorno.
  #4 (permalink)  
Antiguo 13/03/2012, 04:08
 
Fecha de Ingreso: marzo-2012
Mensajes: 3
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Buenas

Tengo un problema al seguir esto. En lugar de Windows Vista, estoy utilizando XP ya que lo veo mas practico para este tipo de cosas, y el problema es que cuando le doy a reiniciar el servicio de Apache, me salta un error que pone

"PHP Startup: Unable to load dynamic library 'C:\xampp\php\php_sqlsrv_53_ts.dll' - No se puede encontrar el módulo especificado

Saben porque puede ser?
  #5 (permalink)  
Antiguo 22/03/2012, 16:59
Avatar de ruxee
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: USA
Mensajes: 131
Antigüedad: 21 años, 8 meses
Puntos: 7
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Es porque no has instalado la librería en el directorio correcto, que se llama EXT
  #6 (permalink)  
Antiguo 14/05/2012, 21:51
Avatar de Algadar  
Fecha de Ingreso: abril-2009
Mensajes: 115
Antigüedad: 15 años
Puntos: 1
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Cita:
Iniciado por ruxee Ver Mensaje
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:
  1. Obtener el entorno bajo el cual esta funcionando mi servidor, para esto debo:
    • Abrir mi PHP info en http://localhost/xampp/
    • 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
  2. Descargar de Microsoft los drivers respectivos. Los podes hallar en http://www.microsoft.com/download/en....aspx?id=17308 Microsoft Drivers 3.0 for SQL Server for PHP CTP1.
  3. Instalar los drivers en el directorio donde esta xampp. En mi caso esta en c:/xampp/php/ext
  4. 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
  5. 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
  6. 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_rsqlsrv_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 http://www.php.net/manual/en/book.sqlsrv.php donde estan todas las funciones de este buenisimo driver.

Espero les ayude, he tratado de explicarlo sin dejar lagunas.
Buenas noches, mi pana no he podido conseguir esos drivers si eres tan amable de suministrarme un links donde los pued a bajar por que e revisado en varias pag y solo hay comentarios.
de ante mano gracias
__________________
Deseo poco y lo poco que deseo, lo deseo poco.!
De Colores.
  #7 (permalink)  
Antiguo 22/05/2012, 22:06
Avatar de ruxee
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: USA
Mensajes: 131
Antigüedad: 21 años, 8 meses
Puntos: 7
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Cita:
Iniciado por Algadar Ver Mensaje
Buenas noches, mi pana no he podido conseguir esos drivers si eres tan amable de suministrarme un links donde los pued a bajar por que e revisado en varias pag y solo hay comentarios.
de ante mano gracias
Mi estimado hasta ahora revise esto, el foro no me envió el notificador de tu mensaje.

Hoy revisando estas instrucciones vi que el link de Microsfot para sus drivers cambió a http://www.microsoft.com/en-us/downl...8#instructions, asi que aqui se los dejo nuevamente.

Sino para la próxima en google pongan Drivers necesarios para conectar php con sql server 2008 y esta búsqueda los deberá conectar al sitio de Microsoft donde está.
  #8 (permalink)  
Antiguo 01/06/2012, 08:58
ycm
 
Fecha de Ingreso: septiembre-2011
Mensajes: 1
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Hola que tal? Tengo instalado Wampserver 2.2c. PHP 5.3.9. Mi valor de Thread Safety es enabled. El compilador es V9. Tengo SQLServer 2008 R2. Descargues los drivers de SQLSRV20.EXE... Agregue estos drivers a mi carpeta "ext", modifique el php.ini, pero al intentar correr mi sistema en local, me sale unos errores, los cuales estaria muy agradecida si alguien me ayuda a encontrar solucion, ya he hecho de todo, y nada. Gracias de antemamo por la ayuda que me puedan brindar.

Este es el error que me sale:

Fatal error: Call to undefined function sqlsrv_connect() in C:\wamp\www\sistema\lib\conn_sql.php on line 32
Call Stack
# Time Memory Function Location
1 0.0130 686872 {main}( ) ..\index_confirm.php:0
2 0.0444 700016 require( 'C:\wamp\www\sistema\lib\core.lib.php' ) ..\index_confirm.php:3
3 0.0560 707544 require( 'C:\wamp\www\sistema\lib\conn_sql.php' ) ..\core.lib.php:5
  #9 (permalink)  
Antiguo 04/11/2012, 13:08
 
Fecha de Ingreso: noviembre-2012
Ubicación: Lima
Mensajes: 1
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Conciso, practico, extremadamente útil (para mi). Gracias!
  #10 (permalink)  
Antiguo 14/11/2012, 15:40
 
Fecha de Ingreso: julio-2010
Mensajes: 23
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Cita:
Iniciado por ruxee Ver Mensaje
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:
  1. 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
  2. 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.
  3. Instalar los drivers en el directorio donde esta xampp. En mi caso esta en c:/xampp/php/ext
  4. 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
  5. 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
  6. 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_rsqlsrv_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.
  #11 (permalink)  
Antiguo 14/11/2012, 15:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

mssql ya no esta soportado, ahora tienes que usar la nueva extensión sqlsrv para conectarte con MS SQL.

Saludos.
  #12 (permalink)  
Antiguo 17/11/2012, 15:07
 
Fecha de Ingreso: julio-2010
Mensajes: 23
Antigüedad: 13 años, 8 meses
Puntos: 0
Información Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Gracias por responder GatorV, mmmmm eso responde el por qué no puedo activar el módulo mssql de php en xampp, por más que lo intente ya que mi versión de php es 5.4.7 y según esto, mssql solo es soportado por versiones anteriores a la 5.4 ¿cierto? corrijanme si me equivoco...

Bueno, pues al menos ahora sé el motivo y sé que no soy yo el que no puede si no la versión

saludos!
  #13 (permalink)  
Antiguo 19/11/2012, 17:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

De hecho es desde PHP5.3 o menos...

Saludos.
  #14 (permalink)  
Antiguo 09/04/2013, 07:45
 
Fecha de Ingreso: enero-2005
Mensajes: 6
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

hola

hice todos los pasos bajandome las librerias etc etc

Fatal error: Call to undefined function mssql_connect() in C:\xampp\htdocs\prueba conexion sql.php on line 3

el codigo que uso para probar la conexion es este

<?php

mssql_connect("127.0.0.1", "sa", "clave") or die("No fue posible conectar con el servidor");

mssql_select_db("datos") or die("No fue posible selecionar la base de datos");

mssql_close();

print "Conexion OK";
?>

en clave logicamente porngo la clave y en el nombre de la BD igual

uso windows server 2008 r2 y sql 2008 r2

un saludo
  #15 (permalink)  
Antiguo 09/04/2013, 09:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Es mejor que uses la nueva extensión sqlsrv, la extensión mssql_ ya no esta mantenida y no funciona con todas las versiones de SQL Server.
  #16 (permalink)  
Antiguo 09/04/2013, 11:25
 
Fecha de Ingreso: enero-2005
Mensajes: 6
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

con nueva extension te refieres a que lo deje asi?

<?php

sqlsrv_connect("127.0.0.1", "sa", "clave") or die("No fue posible conectar con el servidor");

sqlsrv_select_db("datos") or die("No fue posible selecionar la base de datos");

sqlsrv_close();

print "Conexion OK";
?>
  #17 (permalink)  
Antiguo 09/04/2013, 11:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Me refiero a que uses sqlsrv_ en lugar de mssql_.

Saludos.
  #18 (permalink)  
Antiguo 09/04/2013, 11:47
 
Fecha de Ingreso: enero-2005
Mensajes: 6
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

lo intente ya pero no me funciono asi.

Lo que hice fue bajarme la version 5.2.8 de php y ahora esta ok
  #19 (permalink)  
Antiguo 27/06/2013, 08:42
 
Fecha de Ingreso: junio-2013
Mensajes: 3
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

una pregunta.... el php.ini cual es? los unicos q tengo en mi carpeta son:
php.ini-development
php.ini-production
  #20 (permalink)  
Antiguo 27/06/2013, 08:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Realiza un phpinfo() te va a decir que php.ini esta utilizando PHP.

Saludos.
  #21 (permalink)  
Antiguo 27/06/2013, 09:46
 
Fecha de Ingreso: junio-2013
Mensajes: 3
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Se como hacer un phpinfo pero no se como cargarlo xD, pero bueno tengo el XAMP, en el localhost que me manda tmb te da varias opciones una de ellas es visualizar phpinfo.... luego de ubicarlo puse:

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ; (borre lo q tenia ";" para publicarlo aca)
;;;;;;;;;;;;;;;;;;;;;;

extension=php_bz2.dll
extension=php_curl.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll

extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite3.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll

extension=php_sqlsrv_53_ts_vc9.dll (esto fue lo que coloque al final)



STOP Apache y luego Start y me salta el siguiente cuadro:

Warning
PSHP Startup: sqlsrv: Unable to initialize module
Module compiled with module API=20090626
PHP compiled with module API=20100525
These options need to match
  #22 (permalink)  
Antiguo 27/06/2013, 10:50
 
Fecha de Ingreso: junio-2013
Mensajes: 3
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Lo solucione, eso me pasa por seguir sin leer atentamente todo, lo que tenia era el PHP 5.4.7 y para esto en el php.ini se agrega :

extension=php_sqlsrv_54_ts.dll
extension=php_pdo_sqlsrv_54_ts.dll

y no extension=php_sqlsrv_53_ts_vc9.dll como lo hice en un inicio
  #23 (permalink)  
Antiguo 23/07/2013, 10:27
 
Fecha de Ingreso: agosto-2011
Mensajes: 11
Antigüedad: 12 años, 8 meses
Puntos: 1
Pregunta Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Que tal amigos estoy intentando conectarme a un servidor SQL pero este esta instalado en otro equipo con server 2008 segui los pasos mencionados pero no me conecta como deberia quedar?

Al entrar al servidor e iniciar el SQL Server Management Studio me aparece una pantalla donde muestra:

Servertype: DatabaseEngine
Servername: [Nombre del servidor]
Authentication: Windows Authentication

lo que hice fue poner en el codigo de ejemplo lo siguiente:

Código PHP:
$serverName "[La ip del servidor]\[El nombre que aparece en Servername]"
$connectionInfo = array( "Database"=>"[Nombre de la BD que me quiero conectar]");

$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_rsqlsrv_errors(), true));

En que puedo estar mal?
  #24 (permalink)  
Antiguo 29/08/2013, 16:01
 
Fecha de Ingreso: noviembre-2011
Mensajes: 1
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Cita:
Iniciado por truji_9 Ver Mensaje
Buenas

Tengo un problema al seguir esto. En lugar de Windows Vista, estoy utilizando XP ya que lo veo mas practico para este tipo de cosas, y el problema es que cuando le doy a reiniciar el servicio de Apache, me salta un error que pone

"PHP Startup: Unable to load dynamic library 'C:\xampp\php\php_sqlsrv_53_ts.dll' - No se puede encontrar el módulo especificado

Saben porque puede ser?


Puedes poner esto:
extension=c:\xampp\PHP\Text\php_sqlsrv_53_ts_vc9.d ll

dependiendo donde tengas la dll simplementes la direccionas.

  #25 (permalink)  
Antiguo 12/02/2014, 07:32
 
Fecha de Ingreso: marzo-2008
Mensajes: 4
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Después de tener casi una semana buscando y probando las conexiones de php con sql 2008, por fin pude solucionarlo siguiendo tu paso a paso. Mil gracias mi hermano
Saludos.
  #26 (permalink)  
Antiguo 16/03/2015, 11:57
Avatar de Algadar  
Fecha de Ingreso: abril-2009
Mensajes: 115
Antigüedad: 15 años
Puntos: 1
Respuesta: Conectarse a MS-SQL Server 2008 desde PHP

Que tal ruxee, un gusto saludarte, mi pana estoy tratando de conectarme de nuevo a una base de datos Sql Server, en esta oportunidad MSSQL 2008 R2 en uns servidor WIN Server 2003 x86, con php 5.4.6, ya descargue los dll según las instrucciones que das pero me da el siguiente error.

Código HTML:
Conexión no se pudo establecer.
Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -49 [code] => -49 [2] => This extension requires the ODBC Driver 11 for SQL Server. Access the following URL to download the ODBC Driver 11 for SQL Server for x86: http://go.microsoft.com/fwlink/?LinkId=163712 [message] => This extension requires the ODBC Driver 11 for SQL Server. Access the following URL to download the ODBC Driver 11 for SQL Server for x86: http://go.microsoft.com/fwlink/?LinkId=163712 ) [1] => Array ( [0] => IM002 [SQLSTATE] => IM002 [1] => 0 [code] => 0 [2] => [Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningún controlador predeterminado [message] => [Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningún controlador predeterminado ) )
Descardo el ODBC Driver 11 for SQL Server for x86 (apersar de que ya tengo instalado el MSSQL server 2008 R2 ), sin embargo me dice que no es compatible con el sistema operativo la verdad ya no se que más hacer.

Cita:
Iniciado por ruxee Ver Mensaje
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:
  1. Obtener el entorno bajo el cual esta funcionando mi servidor, para esto debo:
    • Abrir mi PHP info en http://localhost/xampp/
    • 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
  2. Descargar de Microsoft los drivers respectivos. Los podes hallar en http://www.microsoft.com/download/en....aspx?id=17308 Microsoft Drivers 3.0 for SQL Server for PHP CTP1.
  3. Instalar los drivers en el directorio donde esta xampp. En mi caso esta en c:/xampp/php/ext
  4. 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
  5. 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
  6. 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_rsqlsrv_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 http://www.php.net/manual/en/book.sqlsrv.php donde estan todas las funciones de este buenisimo driver.

Espero les ayude, he tratado de explicarlo sin dejar lagunas.
__________________
Deseo poco y lo poco que deseo, lo deseo poco.!
De Colores.

Etiquetas: php, server, sql, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 7 personas




La zona horaria es GMT -6. Ahora son las 19:34.