Foros del Web » Programando para Internet » PHP »

SOLUCIÓN PHP y error mssql_connect()

Estas en el tema de SOLUCIÓN PHP y error mssql_connect() en el foro de PHP en Foros del Web. Bueno, se que es un poco tarde visto la fecha en que lo publicaste pero supongo que a alguien le valdrá, de hecho voy a ...
  #1 (permalink)  
Antiguo 28/08/2008, 11:51
 
Fecha de Ingreso: agosto-2008
Mensajes: 3
Antigüedad: 15 años, 8 meses
Puntos: 0
SOLUCIÓN PHP y error mssql_connect()

Bueno, se que es un poco tarde visto la fecha en que lo publicaste pero supongo que a alguien le valdrá, de hecho voy a copiar y pegar este post en tantos foros como pueda por que es un problema que causa muchos dolores de cabeza a todos y yo ya se como solucionar definitivamente.

Si estas usando php e intentas conectar con SQL Server y te da uno de los siguientes errores:

- Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server:
- Fatal error: Call to undefined function mssql_connect()

La solución es muy sencilla (una vez que la sabes jeje), primero lo mas obvio que todos hemos hecho al ver este error es en el php.ini (normalmente en %Windir%\php.ini) tienes que descomentar la extensión para que la use php:

;extension=php_mssql.dll

Búscalo y quita el punto y coma ; del principio, reinicia Apache y probablemente el error de 'Call to undefined function mssql_connect()' desaparecerá, es posible que el otro persista pero eso ya es por librerías dll o MDAC (ya veremos luego que es y como se instala), tienes que asegurarte de tener la librería 'ntwdblib.dll' mas reciente, esta en la carpeta raíz de php, la puedes descargar de php.net o la puedes buscar en internet, si la copias en la carpeta raiz de php y tras reiniciar Apache sigue saliendo 'Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server:' tienes que copiar la librería a la carpeta System32 de tu maquina, de nuevo reinicia Apache, si sigue aun saliendo el error es posible que no tengas instalado los MDAC (si usas Windows 2000 por que a partir de Win XP SP2 vienen de serie), tienes que irte a la web de Microsoft y descargarte Microsoft Data Access Component, yo lo acabo de instalar con versión 2.8 y 2.8 SP1, el archivo necesita validación de Windows original así que si tienes un Windos 2000 Server para aprovecharte de las licencias de Terminal Server lo llevas claro por que seguramente sea pirata, el caso es que tras instalar esto ultimo el error desaparece definitivamente y todo funciona como debería funcionar.

No olvides los 3 pasos:

1 - Descomenta ;extension=php_mssql.dll
2 - Copia 'ntwdblib.dll' a la carpeta %Windir%\System32
3 - Instala los MDAC si usas Windows 2000

Puede haber mas variables pero haciendo eso funciona con un 95% de seguridad.

Por cierto asumo por completo y queda totalmente descartado que el usuario y contraseña o autenticación de Windows esta correcto en tu código php.

Un saludo a los fieles.
  #2 (permalink)  
Antiguo 29/08/2008, 03:35
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: SOLUCIÓN PHP y error mssql_connect()

ohhh, vaya phaapron, me a sorprendido eso de la conexion en mssql, afortunadamente nunca he tenido problemas para tal
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 10:15.