Error al realizar una conexión con PHP a SQL Server desde Windows
El otro día tuve que hacer funcionar una web programada en PHP4 con un IIS6 en un servidor Windows 2003 Server y la verdad es que no fue tarea fácil, debido a que nunca había realizado ninguna instalación de de PHP4 en Windows, ya que normalmente trabajamos con ASP en Windows y PHP en Linux.
Finalmente, después de conseguir instalar el PHP4, tuve que hacer que la web se pudiera conectar con un SQL Server, así que habilité la extensión php_mssql en el php.ini para que funcionara.
Entonces hice un fichero de prueba (test.php) para comprobar si realmente podía conectarme a una base de datos, y me encontré con lo siguiente:
Contenido del fichero test.php para ver si podemos establecer conexión con una base de datos SQL Server:
$server = ‘IP_DEL_SERVIDOR’;
$user = ‘USUARIO_BASE_DE_DATOS’;
$password = ‘CONTRASEÑA_USUARIO’;
$db = ‘NOMBRE_BASE_DE_DATOS’;$conexion = mssql_connect($server, $user, $password);
mssql_select_db($db, $conexion);var_dump($conexion);
Error que mostró el navegador:
Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: xxx.xxx.xxx.xxx in C:\Inetpub\wwwroot\NOMBRE_WEB\test.php on line 10
Warning: mssql_select_db(): supplied argument is not a valid MS SQL-Link resource in C:\Inetpub\wwwroot\NOMBRE_WEB\test.php on line 11
bool(false)
Razón del problema:
La versión del fichero C:\WINDOWS\system32\ntwdblib.dll es antigua.
Si miramos las propiedades del fichero veremos que tiene la versión 2000.2.8.0

Solución del problema:
Descargamos el fichero ntwdblib.rar pulsando AQUÍ
Descomprimimos el fichero y obtendremos el fichero ntwdblib.dll
Movemos el fichero a la carpeta C:\WINDOWS\system32
Si miramos la versión, veremos que ahora es diferente, es la 2000.80.194.0

Reiniciamos IIS





Son de esas cosas que flipas cuando ves la solución!