Programación Web y Scripting > PHP

 Conectar php con SQL SERVER 2005

(1/2) > >>

senneko:
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 ---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. ) )  
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: ---<?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";
     die( print_r( sqlsrv_errors(), true));
}
 
sqlsrv_close( $conn);
 
?>

--- Fin del código ---

Espero que me puedan colaborar.

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

F_Tanori:
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...
--- Fin de la cita ---

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





Espero te Sirva

Saludos

senneko:
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:
Pues mira aquí a ver si te sirve de algo:


--- Código: Text ---h**p://asiermarques.com/2007/05/29/conectarse-desde-php-a-una-base-de-datos-sql-server-2005/ 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:
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 ---<?php $serverName = "EQUIPOSQLEXPRESS";$connectionInfo = array(                                "UID"=>"usuario",                            "PWD"=>"passwd",                            "Database"=>"basedatos"                            );$conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ){     echo "Conexion establecida.n";}else{     echo "La conexion no se pudo establecer.n";     die( print_r( sqlsrv_errors(), true));} sqlsrv_close( $conn);?> 
PD: si el moderador puede agregar esos links que  he colocado para que no se vea tan mal, se lo agradeceria.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa