• Miércoles 15 de Mayo de 2024, 07:10

Autor Tema:  Conectar php con SQL SERVER 2005  (Leído 3847 veces)

senneko

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Conectar php con SQL SERVER 2005
« en: Sábado 1 de Noviembre de 2008, 02:27 »
0
Buenas gente de este respetado foro,

Pos ya llevo buen tiempo con este lenguaje, y ahorita estoy teniendo problemas con una conexion a una base de datos SQL SERVER 2005.

he intentado de 2 maneras, una por medio de la funcion "nativa" de php, la que viene en la documentación de la pagina oficial.

Pero no entedi cuando me pedia compilar el PHP con --with-mssql. Y cuando trato de usarla, me dice que no reconoce la funcion.

y por otro medio que es el driver que viene en la pagina de micro$oft.

Pero con esta me arroja el siguiente error, perdonaran que ponga textualmente:

Código: Text
  1. Connection could not be established. Array ( [0] => Array ( [0] => 08001 [SQLSTATE] => 08001 [1] => 2 [code] => 2 [2] => [Microsoft][SQL Native Client]Named Pipes Provider: Could not open a connection to SQL Server [2]. [message] => [Microsoft][SQL Native Client]Named Pipes Provider: Could not open a connection to SQL Server [2]. ) [1] => Array ( [0] => HYT00 [SQLSTATE] => HYT00 [1] => 0 [code=text] => 0 [2] => [Microsoft][SQL Native Client]Login timeout expired [message] => [Microsoft][SQL Native Client]Login timeout expired ) [2] => Array ( [0] => 08001 [SQLSTATE] => 08001 [1] => 2 [code] => 2 [2] => [Microsoft][SQL Native Client]An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. [message] => [Microsoft][SQL Native Client]An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. ) )
  2.  
 
Al parecer, por este medio si trata de conectarse, pero la respuesta dice que "puede" parecer que el SQL server no permire conexiones remotas, aunque ya configure ese pedazo :P. Por medio del "SQL Server Surface Area Configuration".
 
Aqui les paso el codigo de conexion que es sencillo:
 
Código: [Seleccionar]
<?php
 
$serverName 
"(local)";
$connectionInfo = array( "Database"=>"prueba");
$conn sqlsrv_connect$serverName$connectionInfo);
 
if( $conn )
{
     echo "Connection established.n";
}
else
{
     echo "Connection could not be established.n";
     dieprint_rsqlsrv_errors(), true));
}
 
sqlsrv_close
$conn);
 
?>


Espero que me puedan colaborar.

Desde ya, mil gracias!!!!!!!!!!!

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Conectar php con SQL SERVER 2005
« Respuesta #1 en: Sábado 1 de Noviembre de 2008, 15:56 »
0
En el sitio de MS hay informacion de como configurar el servidor de SQL

Cita de: "http://support.microsoft.com"
...Microsoft SQL Native Client: Error al establecer una conexión al servidor. Al conectar a SQL Server 2005, este error puede deberse al hecho que con los valores predeterminados de SQL Server no permite las conexiones remotas...

http://support.microsoft.com/default.as ... -US;914277
http://support.microsoft.com/kb/914277





Espero te Sirva

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

senneko

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Conectar php con SQL SERVER 2005
« Respuesta #2 en: Lunes 3 de Noviembre de 2008, 01:36 »
0
Hola,

Gracias por tu respuesta tan pronta.

Desafortunadamente ya lo habia intentado  :(

Y si te fijas en el codigo, lo que estoy tratando de hacer es conectarme localmente y ese es el hecho que no entiendo. Ya que por defecto el SQl server viene con configuracion local. Pero aun asi me sigue arrojando el mismo error.

Otra cosa es el firewall, lo desactive para no tener ningun problema pero sin resultados satisfactorios.

Estoy usando la version del SQL server 2005 EXPRESS EDITION.

Me he fijado en muchos lados que a muchos les pasa lo mismo, ojala ya alguien tenga la solucion  :P

Por mi parte, seguire intentando.  :hitcomp:

Gracias

homie

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Conectar php con SQL SERVER 2005
« Respuesta #3 en: Lunes 3 de Noviembre de 2008, 05:57 »
0
Pues mira aquí a ver si te sirve de algo:

Código: Text
  1. h**p://asiermarques.com/2007/05/29/conectarse-desde-php-a-una-base-de-datos-sql-server-2005/
  2.  
Espero que eso resuelva tu problema. No he probado la solución porque actualmente estoy trabajando sobre MySQL y no tengo tiempito para hacer pruebas con otro SGBD.

P.D.1: Sustituye los ** por tt
P.D.2: Espero que el moderador no se moleste por haber puesto el "enlace", porque obviamente no tengo los 15 mensajes de rigor  ^_^

senneko

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Conectar php con SQL SERVER 2005
« Respuesta #4 en: Lunes 3 de Noviembre de 2008, 17:48 »
0
Señores,

Lo he solucionado  B)

La verdad me falto documentarme un poco más, pero lo importante es que ya esta probado por si alguien más lo necesita.

Me hacian falta 2 pasos mas pero aqui esta el procedimiento:

Lo primero es instalar el driver para php:
//msdn.microsoft.com/en-us/library/cc296221.aspx

Luego creamos un usuario para el inicio de sesion:
//msdn.microsoft.com/es-es/library/aa337562.aspx

y ligar ese usuario a la base de datos que voy a usar (obviamente con la base de datos ya hecha):
//msdn.microsoft.com/es-es/library/aa337545.aspx

Código: Text
  1. <?php
  2.  
  3. $serverName = "EQUIPOSQLEXPRESS";
  4. $connectionInfo = array(    
  5.                             "UID"=>"usuario",
  6.                             "PWD"=>"passwd",
  7.                             "Database"=>"basedatos"
  8.                             );
  9. $conn = sqlsrv_connect( $serverName, $connectionInfo);
  10.  
  11. if( $conn )
  12. {
  13.      echo "Conexion establecida.n";
  14. }
  15. else
  16. {
  17.      echo "La conexion no se pudo establecer.n";
  18.      die( print_r( sqlsrv_errors(), true));
  19. }
  20.  
  21. sqlsrv_close( $conn);
  22. ?>
  23.  

PD: si el moderador puede agregar esos links que  he colocado para que no se vea tan mal, se lo agradeceria.

necros10

  • Miembro activo
  • **
  • Mensajes: 36
    • Ver Perfil
Re: Conectar php con SQL SERVER 2005
« Respuesta #5 en: Miércoles 5 de Noviembre de 2008, 04:01 »
0
Aqui tienes como se debe conectar php con sql 2005 ojala agradescas
Citar
<?php
$con = mssql_connect("Nombre del motor de tu bd","sa","password");
if(!$con){
   die("Error al Selecionar el Motor de BD");
}
$base = mssql_select_db("tu base de datos que deseas seleccionar",$con);
if(!$base){
   die("Pajaron selecciona bn");
}
?>

PD: no se te olvide  habilitar en el php.ini el php_mssql

senneko

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Conectar php con SQL SERVER 2005
« Respuesta #6 en: Miércoles 5 de Noviembre de 2008, 14:11 »
0
Cita de: "necros10"
Aqui tienes como se debe conectar php con sql 2005 ojala agradescas
Citar
<?php
$con = mssql_connect("Nombre del motor de tu bd","sa","password");
if(!$con){
   die("Error al Selecionar el Motor de BD");
}
$base = mssql_select_db("tu base de datos que deseas seleccionar",$con);
if(!$base){
   die("Pajaron selecciona bn");
}
?>

PD: no se te olvide  habilitar en el php.ini el php_mssql

Fijate que yo intente esa función tambien, habilitando en el php.ini la libreria y tampoco me funcionaba, no me reconocia la funcion, y reseteaba el compu pero nada.

Pero igual, como puedes ver, ya lo pude solucionar  :P

Pero gracias de todas maneras  :good:

necros10

  • Miembro activo
  • **
  • Mensajes: 36
    • Ver Perfil
Re: Conectar php con SQL SERVER 2005
« Respuesta #7 en: Miércoles 5 de Noviembre de 2008, 16:25 »
0
Citar
   necros10 escribió:Aqui tienes como se debe conectar php con sql 2005 ojala agradescas

        <?php
        $con = mssql_connect("Nombre del motor de tu bd","sa","password");
        if(!$con){
        die("Error al Selecionar el Motor de BD");
        }
        $base = mssql_select_db("tu base de datos que deseas seleccionar",$con);
        if(!$base){
        die("Pajaron selecciona bn");
        }
        ?>



    PD: no se te olvide habilitar en el php.ini el php_mssql



Fijate que yo intente esa función tambien, habilitando en el php.ini la libreria y tampoco me funcionaba, no me reconocia la funcion, y reseteaba el compu pero nada.

Pero igual, como puedes ver, ya lo pude solucionar :P

Pero gracias de todas maneras :good:

denanda cumpa ....pero igual raro q no te aya funcionado = yo levanto el server con wamp quizas sea eso

senneko

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Conectar php con SQL SERVER 2005
« Respuesta #8 en: Miércoles 5 de Noviembre de 2008, 16:37 »
0
Cita de: "necros10"
Citar
   necros10 escribió:Aqui tienes como se debe conectar php con sql 2005 ojala agradescas

        <?php
        $con = mssql_connect("Nombre del motor de tu bd","sa","password");
        if(!$con){
        die("Error al Selecionar el Motor de BD");
        }
        $base = mssql_select_db("tu base de datos que deseas seleccionar",$con);
        if(!$base){
        die("Pajaron selecciona bn");
        }
        ?>



    PD: no se te olvide habilitar en el php.ini el php_mssql



Fijate que yo intente esa función tambien, habilitando en el php.ini la libreria y tampoco me funcionaba, no me reconocia la funcion, y reseteaba el compu pero nada.

Pero igual, como puedes ver, ya lo pude solucionar :P

Pero gracias de todas maneras :good:

denanda cumpa ....pero igual raro q no te aya funcionado = yo levanto el server con wamp quizas sea eso

ahhh, pos yo uso Appserv, si, puede ser eso, puede q el wamp ya venga listo pa usar esa libreria y el appserv no   :(