Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] php y sql server 2008

Estas en el tema de php y sql server 2008 en el foro de PHP en Foros del Web. Hola muchachos de la comunidad.. me acerco a ustedes con la siguiente duda: estoy intentando conectar PHP: 5.5.9 con sql server 2008: segui los pasos ...
  #1 (permalink)  
Antiguo 21/07/2014, 17:32
 
Fecha de Ingreso: octubre-2012
Mensajes: 202
Antigüedad: 12 años, 1 mes
Puntos: 0
php y sql server 2008

Hola muchachos de la comunidad.. me acerco a ustedes con la siguiente duda:

estoy intentando conectar PHP: 5.5.9 con sql server 2008:

segui los pasos de un tutorial que andaba por la red. y cuando agrego a XAMPP los archivos dll para que funcione me arroja el siguiente error..

PHP Startup: sqlsrv: Unable to initialize module
Module compiled width API=20090626
php Compiled width module API=20121212
These options need to match


Lo que me hace pensar es que los archivo que baje no son compatibles.. como se de donde bajar los correcto y si son los correctos? sera ese el problema? graciassss
  #2 (permalink)  
Antiguo 21/07/2014, 19:55
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: php y sql server 2008

http://www.forosdelweb.com/f142/cone...de-php-979188/
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #3 (permalink)  
Antiguo 22/07/2014, 08:12
 
Fecha de Ingreso: octubre-2012
Mensajes: 202
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: php y sql server 2008

Si lo vi ese post pero hice todo al pie de la letra y nada!! nose adonde mas recurrir
  #4 (permalink)  
Antiguo 22/07/2014, 08:36
 
Fecha de Ingreso: octubre-2012
Mensajes: 202
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: php y sql server 2008

este es mi codigo php. hay algun error? por lo menos para descartar y ver por donde busco

Código PHP:
Ver original
  1. <?php
  2.  
  3.     $user="userJose";
  4.     $pass="123456";
  5.     $base="jorgedev";
  6.     $serverName ="192.168.2.105/SKULD-PC";
  7.    
  8.     $connectionInfo  = array("UID"=>$user, "PWD"=>$pass, "Database"=>$base);
  9.    
  10.     $conn = sqlsrv_connect( $serverName, $connectionInfo);
  11.  
  12.         if($conn) {
  13.              echo "Conexión establecida.<br />";
  14.         }else{
  15.              echo "Conexión no se pudo establecer.<br />";
  16.              die(print_r( sqlsrv_errors(), true));
  17.         }
  18. ?>
  #5 (permalink)  
Antiguo 22/07/2014, 08:51
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: php y sql server 2008

Cita:
Iniciado por jmm87 Ver Mensaje
Si lo vi ese post pero hice todo al pie de la letra y nada!! nose adonde mas recurrir
Al Technet de MS: http://technet.microsoft.com/en-us/l...sql.90%29.aspx
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #6 (permalink)  
Antiguo 22/07/2014, 08:59
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: php y sql server 2008

o al manual de php si te fijas al final alguien dejo un comentario donde se hace referencia a un parche no oficial para conectar a php 5.5 (que es la version que usas y tiene el problema), otra opcion es que cambies tu version de php por una anterior, 5.3.8 es la que se recomienda en el otro post para hacer el tutorial, yo lo probe con 5.4.3 y tambien funciono bien, el problema esta con las versiones 5.5+, desconozco si el parche mencionado en el manual funciona ya que no lo probe, en el tema de discucion de ese parche comentan que funciona, pero repito, personalmente no lo probe.

Creo que lo mas simple es cambiar tu version de php a menos que necesistes de las ultimas caracteristicas, cosa poco probable
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #7 (permalink)  
Antiguo 22/07/2014, 09:03
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: php y sql server 2008

Hola Amigo yo lo pude lograr con este link: http://www.forosdelweb.com/f142/apor...window-937080/

tene en cuenta que las versiones de php 5.2.x usan MSSQL
y las superiores a 5.3.x usan SQLSRV

NOte olvies de pasar por php.net que hay comentariospara todas las situaciones

otra cosa es que solo usa comillas simples para las variables que le pasas a sqlsrv:

$user='userJose';
$pass='123456';
$base='jorgedev';
$serverName ='192.168.2.105/SKULD-PC';
  #8 (permalink)  
Antiguo 22/07/2014, 09:03
 
Fecha de Ingreso: octubre-2012
Mensajes: 202
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: php y sql server 2008

acabo de instalarme WAMP Server que viene con php version 5.4.3 y sigue pasando lo mismo. voy a ver esos link que me dejaron pera ya estube inspeccionando bastante por internet y nada
  #9 (permalink)  
Antiguo 22/07/2014, 09:05
 
Fecha de Ingreso: octubre-2012
Mensajes: 202
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: php y sql server 2008

acabo de instalarme WAMP Server que viene con php version 5.4.3 y sigue pasando lo mismo. voy a ver esos link que me dejaron pera ya estube inspeccionando bastante por internet y nada

esto me dice:

( ! ) Fatal error: Call to undefined function sqlsrv_connect() in C:\wamp\www\prueba\prueba.php on line 11
Call Stack
# Time Memory Function Location
1 0.0013 141120 {main}( ) ..\prueba.php:0
  #10 (permalink)  
Antiguo 22/07/2014, 09:34
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: php y sql server 2008

segui al pie de la letra las instrucciones, se que no es facil pero tenes que ser detallista
  #11 (permalink)  
Antiguo 23/07/2014, 10:03
 
Fecha de Ingreso: octubre-2012
Mensajes: 202
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: php y sql server 2008

no hay chance.. no funciona no funciona y no funciona!
segui todo al pie de la letra:
me arroja este error

Código HTML:
Ver original
  1. De No se Pudo Conectar Array ([0] => Array ([0] => IMSSP [SQLSTATE] => IMSSP [1] => -49 [code] => -49 [2] => Esta extensión requiere el Microsoft SQL Server 2012 Native Client accede a la siguiente URL para descargar el controlador 2012 Native Client para x86 Microsoft SQL Server:. http://go.microsoft.com/fwlink/?LinkId=163712 [mensaje] => Esta extensión requiere el Microsoft SQL Server 2012 Native Client accede a la siguiente URL para descargar el controlador 2012 Native Client para x86 Microsoft SQL Server:. http://go.microsoft.com/fwlink/?LinkId=163712) [1] => Array ([0] => IM002 [SQLSTATE] => IM002 [1] => 0 [code] => 0 [2] => [Microsoft] [Administrador de Controladores ODBC] No se sí ENCUENTRA el Nombre del origen de Datos y no en sí especificó Nessun con controlador Predeterminado [mensaje] => [Microsoft] [Administrador de Controladores ODBC] No se sí ENCUENTRA el Nombre del origen de Datos y no en sí especificó Nessun Controlador Predeterminado))

esto fue lo q hice:

Código PHP:
Ver original
  1. wamp server:
  2. ------------
  3. php: 5.4.3
  4. apache: 2.2.22
  5.  
  6. php_pdo_sqlsrv_54_ts.dll
  7. php_sqlsrv_54_ts.dll
  8. php_mssql.dll
  9. php_pdo_odbc.dll
  10.  
  11. agregado en las extensiones de php y en system 32:
  12. -------------------------------------------------
  13. ntwdblib.dll
  14.  
  15.  
  16. conexion a php:
  17. ---------------
  18. <?php
  19.  
  20. $serverName = "181.25.210.180\SKULD-PC";
  21. $connectionInfo = array( "Database"=>"jorgedev","UID"=>"userJose","PWD"=>"123456") ;
  22. //son los datos de autenticacion de sql server.. mi sqlserver no dice R2 y en todos los tutorial veo  dice r2
  23. $conn = sqlsrv_connect( $serverName, $connectionInfo);
  24. if($conn){
  25. echo('Conectado');
  26. }else{
  27. echo('No se pudo conectar<br/>');
  28. die( print_r( sqlsrv_errors(), true));
  29. }
  30. $query = sqlsrv_query($conn, "select * from PRODUCTOS");
  31. echo $query;
  32.  
  33. ?>
  #12 (permalink)  
Antiguo 23/07/2014, 10:18
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: php y sql server 2008

a ver , bueno pero ya no te tira el error de FUNCTION UNDEFINED eso es un avance grande

ahora el problema es otro, y por lo visto no me hiciste caso cuando te escribi que TODAS las variables que le pasas MSSQL tienen que estar entre COMILLAS simples

y lo siguiente es bajar el .dll que te inidica en la respuesta

que tan dificil es eso?
  #13 (permalink)  
Antiguo 23/07/2014, 12:32
 
Fecha de Ingreso: octubre-2012
Mensajes: 202
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: php y sql server 2008

bueno lo instale el dll y cambie las comillas y llegue ahora a este error:

Código PHP:
Ver original
  1. De No se Pudo Conectar Array ([0] => Array ([0] => 08001 [SQLSTATE] => 08001 [1] => 22 [code] => 22 [2] => [Microsoft] [SQL Server Native Client 11.0] Native Client SQL Server 11.0 no admite conexiones a SQL Server 2000 o versiones anteriores. [mensaje] => [Microsoft] [SQL Server Native Client 11.0] Native Client SQL Server 11.0 no admite conexiones a SQL Server 2000 o versiones anteriores .) [1] => Array ([0] => 08001 [SQLSTATE] => 08001 [1] => 22 [code] => 22 [2] => [Microsoft] [SQL Server Native Client 11.0] clienta no para establecer la conexión [Mensaje] => [Microsoft] [SQL Server Native Client 11.0] clienta no puede establecer la conexión))

tengo en la maquina tambien instalado un sql server 2000 . puede ser que sea eso lo que esta interfiriendo?
porque con el 2000 tengo un sistema funcionando e instale el 2008 para esto.
  #14 (permalink)  
Antiguo 23/07/2014, 12:45
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: php y sql server 2008

pero ahi te dice que se esta intentando conectar a una instacia de sqlserver 2000

por que no detenes el servicio de sqlserver 2000 y dejas solo activo el 2008 para descartar dudas
  #15 (permalink)  
Antiguo 23/07/2014, 14:47
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: php y sql server 2008

Si tienes los dos motores activos es porque ambos estan escuchando puertos diferentes, al conectarte a una ip para acceder a una base de datos, por defecto te conectas al puerto 1433, pero eso es configurable, posiblemente el sqlserver 2000 este escuchando ese puerto, es cuestion de que busques en tu sqlserver 2008 que puerto esta escuchando y lo escribas asi:

Código PHP:
Ver original
  1. $serverName = "181.25.210.180\SKULD-PC, 1433";  // En lugar de 1433 pones el puesto del servidor 2008
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #16 (permalink)  
Antiguo 23/07/2014, 19:53
 
Fecha de Ingreso: octubre-2012
Mensajes: 202
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: php y sql server 2008

Ese era el problema! mi sql 2008 esta escuchando en un puerto que no es el por defecto que tenia configurado!!

muchisimas gracias! funciono!!!

y gracias tambien a todos los demas que hicieron que pueda con esto!


Cita:
Iniciado por NSD Ver Mensaje
Si tienes los dos motores activos es porque ambos estan escuchando puertos diferentes, al conectarte a una ip para acceder a una base de datos, por defecto te conectas al puerto 1433, pero eso es configurable, posiblemente el sqlserver 2000 este escuchando ese puerto, es cuestion de que busques en tu sqlserver 2008 que puerto esta escuchando y lo escribas asi:

Código PHP:
Ver original
  1. $serverName = "181.25.210.180\SKULD-PC, 1433";  // En lugar de 1433 pones el puesto del servidor 2008

Etiquetas: server, siguiente, sql, sql-server
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 21:39.