Foros del Web » Programando para Internet » PHP »

Pasos para conectar PHP y SQL server

Estas en el tema de Pasos para conectar PHP y SQL server en el foro de PHP en Foros del Web. Hola, camaradas! Llevo medio siglo buscando cómo demonios puedo conectar una base de datos de SQL-server con PHP y utilizar la librería php_mssql.php, no un ...
  #1 (permalink)  
Antiguo 27/09/2005, 12:15
Avatar de Christatos  
Fecha de Ingreso: julio-2003
Ubicación: Badajoz, Extremadura, España
Mensajes: 194
Antigüedad: 14 años, 5 meses
Puntos: 0
Pasos para conectar PHP y SQL server

Hola, camaradas!

Llevo medio siglo buscando cómo demonios puedo conectar una base de datos de SQL-server con PHP y utilizar la librería php_mssql.php, no un ODBC (que visto y comprobado funciona fatalmente mal -y estoy siendo generoso-).

Por favor, por favor, ¿alguien podría ayudarme?
Sé lo siguiente:
Necesito la librería 'php_mssql.php'. La tengo puesta en 'c:\php\extensions'.
Tengo SQL Server instalado.
Tengo modificado el 'php.ini' he cambiado lo de la ruta de extensiones y he quitado el punto-y-coma que comentaba la extensión php_mssql.php... lo he probado todo... por favor, ¿alguien me puede ayudar?

Gracias, muchas gracias de antemano...
  #2 (permalink)  
Antiguo 27/09/2005, 12:37
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
y cuando tratas de usar las funciones para acceder a sql server que error te muestran?
  #3 (permalink)  
Antiguo 27/09/2005, 13:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tienes instalado MS SQL Server en la misma máquina que hace de servidor con PHP?

Si no es así .. también te hará falta tener en el servidor que corra PHP la versión cliente de MS SQL Server (la .dll: ntwdblib.dll en tu /windows/system o por ahí )

(lo dice la documentación oficial de PHP al respecto: www.php.net/mssql)

Un saludo,
  #4 (permalink)  
Antiguo 28/09/2005, 02:51
Avatar de Christatos  
Fecha de Ingreso: julio-2003
Ubicación: Badajoz, Extremadura, España
Mensajes: 194
Antigüedad: 14 años, 5 meses
Puntos: 0
Hola, compañeros!

Gracias por contestar.
Bien, el error que me da es que no puede localizar la librería php_mssql.dll. Pero sí está, porque yo la veo.
He mirado en la ruta que Cluster me apunta, pero no veo nada que me resuelva el problema que tengo y estoy seguro de que alguien tiene que saber algo que se me escapa. Yo qué sé... quizás versiones incompatibles, o dónde puedo descargar un paso a paso de cómo se ponen las librerías dll... La dll que me dices me lo mencionó al principio, se la puse y ya no lo dice, pero ahora me sigue diciendo que no encuentra la librería php_mssql.dll...

Qué puedo hacer?

Gracias por vuestra atención!
  #5 (permalink)  
Antiguo 28/09/2005, 04:16
Avatar de Christatos  
Fecha de Ingreso: julio-2003
Ubicación: Badajoz, Extremadura, España
Mensajes: 194
Antigüedad: 14 años, 5 meses
Puntos: 0
Otra pista:
Busqué y rebusqué en internet y encontré que alguien comentaba que podría ser debido a la versión de php.
Puse la última (antes usaba la 4.3 y la cambié a la 5.0.5). El resultado es que el error ha cambiado, he modificado ciertos parámetros y el error ahora me dice que un módulo ha sido compilado con una versión de API y php ha sido compilado con otra y que ambos deben coincidir.
Buscando y buscando me parece haber entendido que se debe a la librería ntwdblib.dl que mencionaba Cluster. Es decir, que esta librería es más antigua que la compilación de php y es por ello que no va bien.

Alguien sabe si estoy equivocado? Alguien sabe dónde puedo encontrar esa librería compilada con una API más moderna?
Alguien tiene la librería de la versión ocho? Si sobreescribo la de la versión 7 de SQL server por la de la versión 8 pasará algo?

Gracias de nuevo.
  #6 (permalink)  
Antiguo 28/09/2005, 12:23
Avatar de Christatos  
Fecha de Ingreso: julio-2003
Ubicación: Badajoz, Extremadura, España
Mensajes: 194
Antigüedad: 14 años, 5 meses
Puntos: 0
Venga, más datos a ver si un poquito de por favor:

cuando ejecuto el php da dos errores, uno con la equis blanca en el circulito rojo ese de windows típico al que todos estamos acostumbrados que dice "No se encuentra el punto de entrada del procedimiento _zval_copy_ctor_func en la biblioteca de vínculos dinámicos php5ts.dll" y cuando le das a aceptar me da este otro: "Php startup: Unable to load dynamic library 'c:/php/extensions/php_mssql.dll' - No se encontró el proceso especificado"

Bien, se puede deducir que realmente no encuentra la puñetera dll, pero ¿por qué?
Tengo hecho lo del php.ini y lo del http.conf y tengo descomentada la referencia a la extensión php_mssql.dll y dirigida la ruta "extension_dir" a la ruta que da que no lo encuentra y sí está, porque yo lo he visto.

Os voy a decir qué versiones tengo de cada cosa:
Sql server 7, la librería ntwdblib.dll es la versión 8.00.194.
El apache es la 2.054 (pero me da lo mismo con otras...)
La versión de la librería php_mssql.dll es la 5.1.0
La versión del php es la 5.0.5

A ver si por ahí (por lo de las versiones) alguien sabe decirme algo.

Puedo decir que también he probado con otra versión de php_mssql.dll que encontré que en lugar de ocupar 48 kb ocupa 44 y tiene fecha de creación anterior... pero no pone la versión que es.

Por favor, que alguien me ayude... voy a llorar...

Gracias de antemano.
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




La zona horaria es GMT -6. Ahora son las 00:56.