Inicio > PHP > Error al realizar una conexión con PHP a SQL Server desde Windows

Error al realizar una conexión con PHP a SQL Server desde Windows

Viernes, 16 de Julio de 2010

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

Màrius PHP , ,

  1. Sábado, 17 de Julio de 2010 a las 12:46 | #1

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

  1. Sin trackbacks aún.