Foros del Web » Programando para Internet » PHP »

Estoy perdido!!!! 2 servidores SQL Server remotos

Estas en el tema de Estoy perdido!!!! 2 servidores SQL Server remotos en el foro de PHP en Foros del Web. A quien me pueda ayudar.... Os pongo en situación tengo en una ubicación un servidor Apache + PHP5, trabajo con MSSQL en esta máquina tengo ...

  #1 (permalink)  
Antiguo 02/02/2006, 02:34
 
Fecha de Ingreso: febrero-2006
Mensajes: 21
Antigüedad: 11 años, 10 meses
Puntos: 0
Información Conectar con BDD remota

A quien me pueda ayudar....
Os pongo en situación tengo en una ubicación un servidor Apache + PHP5, trabajo con MSSQL en esta máquina tengo instalado SQL Server, pero el problema viene ahora, la BDD está en otro servidor, otra ubicación totalmente diferente, también hay instalado SQL Server, la pregunta es:
¿Como lo hago para conectar con esa máquina?
Yo he probado de poner la dirección IP cuando hago la conexión en lugar del localhost típico pero nada de nada.
Espero que algun alma caritativa me pueda ayudar.
Gracias
  #2 (permalink)  
Antiguo 02/02/2006, 06:01
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Esta bien que uses la dirección IP. Te indica algún error al realizar la conección?
  #3 (permalink)  
Antiguo 02/02/2006, 06:15
 
Fecha de Ingreso: febrero-2006
Mensajes: 21
Antigüedad: 11 años, 10 meses
Puntos: 0
no me conecta!

he intentado crear una conexión cliente de SQL desde el servidor de Apache, pero tampoco
  #4 (permalink)  
Antiguo 02/02/2006, 06:32
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Podrías mostrar algo del codigo php que estás usando para la conexión y ver en que está fallando.
  #5 (permalink)  
Antiguo 02/02/2006, 06:39
 
Fecha de Ingreso: febrero-2006
Mensajes: 21
Antigüedad: 11 años, 10 meses
Puntos: 0
no se si es el firewall de allí que no me quiere

$db_conexion= mssql_connect("83.36.54.252:3390", "user", "user") or die("No se pudo conectar a la Base de datos");
mssql_select_db("Northwind") or die(mssql_error());
$comm = mssql_query("SELECT * FROM Categories",$conn);

while($read = mssql_fetch_array($comm))

{
echo $read["CategoryName"];

}



mssql_close($conn);
  #6 (permalink)  
Antiguo 02/02/2006, 07:07
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Por que no usas esto para ver el error de la conexion?

$db_conexion= mssql_connect("83.36.54.252:3390", "user", "user") or die(mssql_error());

Tienes a sql server "escuchando" en ese puerto (3390), lo digo por que no es el que viene por defecto.
  #7 (permalink)  
Antiguo 02/02/2006, 08:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Podría ser también que algún firewall esté impidiendo la conexión al servidor remoto .. revisalo también (suele pasar).

Un saludo,
  #8 (permalink)  
Antiguo 02/02/2006, 08:41
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 11 años, 11 meses
Puntos: 0
Cluster te deje un MP please lee
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #9 (permalink)  
Antiguo 02/02/2006, 09:56
 
Fecha de Ingreso: febrero-2006
Mensajes: 21
Antigüedad: 11 años, 10 meses
Puntos: 0
no me funciona ni en local

tengo otro servidor SQL en Local, en teoría basta cuando haces la conexión en PHP escribir la dirección del host + puerto (no? 1433 es el está por defecto?),
pues ni con estas!
apunto a ese sevidor a la base de datos Northwind para hacer una prueba y nada! en el Apache o PHP5 hay que hacer alguna configuración¿?
incluso si no habro ninguna conexión de BDD y trabajo sobre el SQL que tengo con Apache la consulta me la resuelve bien
  #10 (permalink)  
Antiguo 02/02/2006, 09:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si usas las funciones:
mssql_xxx()

Y no obtienes error sobre que no exista esas funciones .. es de "suponer" que ya tienes instalado las extensiones de MS SQL Server para PHP (lo puedes confirmar con un phpinfo() ...)

Un saludo,

carlosfocus: ya leí tu MP y te respondí.
  #11 (permalink)  
Antiguo 02/02/2006, 10:00
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
Te pediria de favor que checaras este link http://www.webestilo.com/php/articulo.phtml?art=19. Porfavor comentanos como te fue.
  #12 (permalink)  
Antiguo 02/02/2006, 10:10
 
Fecha de Ingreso: febrero-2006
Mensajes: 21
Antigüedad: 11 años, 10 meses
Puntos: 0
mira la prueba

con ese código, me da los siguientes errores, pero en teoría con SQL Server conecta:

Warning: mssql_query(): supplied argument is not a valid MS SQL-Link resource in C:\servidor\web\intranet\prueba.php on line 10

Warning: mssql_fetch_array(): supplied argument is not a valid MS SQL-result resource in C:\servidor\web\intranet\prueba.php on line 11
  #13 (permalink)  
Antiguo 02/02/2006, 10:12
 
Fecha de Ingreso: febrero-2006
Mensajes: 21
Antigüedad: 11 años, 10 meses
Puntos: 0
$conectID = mssql_connect("","","");
mssql_select_db("Northwind");
$result=mssql_query("select * from products",$numero );
while ($row=mssql_fetch_array($result)) {
$counter++; $c1=$row["ProductName"];
$c2=$row["UnitPrice"];
echo ("$counter c1: $c1 c2: $c2\n");
}
mssql_close($conectID);


y si lo dejo así sin contraseña, nombre del Host y tal me da el mismo error
pero no me dice no puedo conectar con la BDD
  #14 (permalink)  
Antiguo 02/02/2006, 10:13
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
Pregunta

¿En donde estas definiendo tu variable $conn?
  #15 (permalink)  
Antiguo 02/02/2006, 10:16
 
Fecha de Ingreso: febrero-2006
Mensajes: 21
Antigüedad: 11 años, 10 meses
Puntos: 0
$conectID = mssql_connect("123.123.123.123","user","user");

es esta! pero si lo dejo sin contraseña sin nombre de host y tal dice lo mismo, parece que no sale del SQL Server del Servidor de Apache hacia fuera, hacia otra IP
  #16 (permalink)  
Antiguo 02/02/2006, 10:17
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
Exclamación

¿Ya checaste como dijo CLUSTER si tienes instaladas las dll's correspondientes?
  #17 (permalink)  
Antiguo 02/02/2006, 10:20
 
Fecha de Ingreso: febrero-2006
Mensajes: 21
Antigüedad: 11 años, 10 meses
Puntos: 0
tengo una sólo la mssql(no se que).dll
y sobre la misma máquina marcha bien
he creado una BDD de prueba y responde!!
es cuando quiero solicitar datos en otro servidor SQL que no esté en la misma maquina
  #18 (permalink)  
Antiguo 02/02/2006, 10:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usa la función mssql_error() en tus funciones como la de mssql_connect() para ver exactamente que error obtinenes.

mssql_connect(....) or die(mssql_error());

No sé si SQL Server funcionará como por ejemplo Mysql en el aspecto de los "host" permitidos para acceso desde otros sitios que no sean conoexiones por ejemplo "locales" .. Revisa el usuario que estés usando para conectarte remotamente y dale todos los permisos de acceso necesarios.


Un saludo,
  #19 (permalink)  
Antiguo 02/02/2006, 10:22
 
Fecha de Ingreso: febrero-2006
Mensajes: 21
Antigüedad: 11 años, 10 meses
Puntos: 0
ok, voy a probar!!
  #20 (permalink)  
Antiguo 02/02/2006, 10:48
 
Fecha de Ingreso: febrero-2006
Mensajes: 21
Antigüedad: 11 años, 10 meses
Puntos: 0
la canalización...

todos estos parametros que encuentro de canalización en el Servidor SQL influyen?
  #21 (permalink)  
Antiguo 02/02/2006, 10:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
(Yo no he usado SQL Server .. pero eso es lo primero que debes tener claro .. que tu servidor con el usuario que estés usando pueda ser accedido de forma remota (por ejemplo desde otro cliente SQL Server que puedas tener en otro PC)

Puedes consultar en el foro de "Base de datos" por estos detalles .. si lo deseas.)

Un saludo,
  #22 (permalink)  
Antiguo 02/02/2006, 11:01
 
Fecha de Ingreso: febrero-2006
Mensajes: 21
Antigüedad: 11 años, 10 meses
Puntos: 0
gracias Cluster voy a ello
  #23 (permalink)  
Antiguo 02/02/2006, 11:05
 
Fecha de Ingreso: febrero-2006
Mensajes: 21
Antigüedad: 11 años, 10 meses
Puntos: 0
Estoy perdido!!!! 2 servidores SQL Server remotos

hola a todos, espero que me podais ayudar, os comento, tengo dos servidores con SQL Server, en uno de ellos tengo Apache y PHP, la verdad es que no me funciona las consultas sobre el servidor remoto y supongo que tengo que tener los SQL Servers vinculados o algo no? como lo puedo hacer me pierdo!!!
  #24 (permalink)  
Antiguo 02/02/2006, 15:02
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 14 años, 7 meses
Puntos: 25
los SQL vinculados es en el caso de que tengas 2 servidores de SQL Server que quieras que compartan información, pero no con otros servicios como los de HTTP.

Si lo que quieres es hacer consultas desde PHP entonces es una simple conexión, en cuyo caso depende de las librerías del lenguaje (PHP en tu caso) para lograrlo.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #25 (permalink)  
Antiguo 03/02/2006, 03:10
 
Fecha de Ingreso: febrero-2006
Mensajes: 21
Antigüedad: 11 años, 10 meses
Puntos: 0
yo solo utilizo una librería (php_mssql.dll) y he probado de realizar una conexión directa (tipo $conn=(mssql_connect("ip_remota","",""))) y no hay manera, no lo consigo!!!
  #26 (permalink)  
Antiguo 03/02/2006, 07:42
Avatar de TeamPERU
Usuario no validado
 
Fecha de Ingreso: agosto-2004
Mensajes: 23
Antigüedad: 13 años, 4 meses
Puntos: 0
los servidores romotos tienen ip publica? tienen algun tipo de firewall? deberias empezar por alli .. tamb primero deberias probar si funciona de forma local tu conexion mssql_connect("localhost","sa","passw"); ó mssql_connect("127.0.0.1","sa","passw");
  #27 (permalink)  
Antiguo 03/02/2006, 09:11
 
Fecha de Ingreso: febrero-2006
Mensajes: 21
Antigüedad: 11 años, 10 meses
Puntos: 0
En local si!!

en forma local si funciona, hago pruebas con la base de datos Northwind, pero cuando quiero atacar la ip pública no hay manera, he mirado el firewall y todos los puertos que apuntan a esa máquina lo he probado, supongo que eso no tiene ningun secreto!!
  #28 (permalink)  
Antiguo 03/02/2006, 15:56
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 14 años, 7 meses
Puntos: 25
Eso es más un problema del propio PHP que del servidor, te muevo a PHP donde te podrás ayudar mejor. Movido de SQL Server
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #29 (permalink)  
Antiguo 03/02/2006, 16:45
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
1)Seguro que el user y password que usas tiene los privilegios para conectarte la bd
2)No haz considerado que sea problema por el firewall o similar
  #30 (permalink)  
Antiguo 08/02/2006, 07:24
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 12 años, 3 meses
Puntos: 7
Saludos.
Estoy en una intranet.
Un servidor Apache en Linux, donde alojo algunas páginas php. El servidor sql server, está en otra máquina dentro de la intranet...

En la documentación de php.net, leo:
El argumento nombre_servidor debe ser un nombre de servidor válido, que esté definido en el archivo 'interfaces'.

La conexión la establesco:
$conec = mssql_connect ("192.168.1.3,1433", "prueba", "prueba") or die ("No pude conectarme a la BD: ".mssql_get_last_message());

El usuario y la contraseña, fueron creados para ahcer las pruebas de conexión.
El resultado es:
Warning: mssql_connect(): Sybase: Unable to connect in /../edo_gral_sqlserver.php on line 15
No pude conectarme a la BD:

donde la línea 15, establece la conexión...

Pregunto: el archivo 'interfaces' que emnciona la documentación, es el que corresponde a /etc/network/interfaces ? qué debo modificarle?

Gracias de una
__________________
Gracias de todas todas
-----
Linux!
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 19:54.