note 85406 deleted from function.mssql-connect by thiago
| From: | thiago@php.net | Date: | Thu, 28 Aug 2008 19:47:26 +0000 |
| Subject: | note 85406 deleted from function.mssql-connect by thiago | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-143954@lists.php.net to get a copy of this message | ||
Note Submitter: phaapron unaarroba hotmail unpunto com
Reason: non-english
----
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.