Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Conexión a una BD remota (https://www.clubdelphi.com/foros/showthread.php?t=12472)

oliverinf 16-07-2004 21:36:28

Conexión a una BD remota
 
Hola a todos, Necesito hacer un sistema de consulta (solo a usuario autorizados a traves de una clave), pero no quiero que la base de datos (en Interbase, digamos) este alojada en el servidor Web, sino en un servidor de una red local (con acceso a internet obvio). En el momento que el usuario realice la consulta, ésta deberá ser redirigida a la pc indicada.

Por ejemplo, los usuarios deberán ingresar a un sitio www.xxxxxx.com a realizar consultas a una BD que NO se encuentra en el servidor sino en una pc remota que pertenece a una red privada.

No Estoy 100% seguro que se pueda hacer asi que si lo han hecho les agredeceré que me den una mano.
las herramientas a utilizar serán PHP e interbase.

saludos.

jachguate 16-07-2004 22:33:15

Hola.

Tenes dos formas de enfrentarlo:
  • Database server privado
    • El servidor tiene acceso a la pc donde reside la bd, ya sea a través de internet o de la red privada. Esto significa también que si hay firewalls de por medio, estos permitirán el tráfico por los puertos de la bd.
    • El servidor tiene instalado (y funcional) el cliente de la base de datos elegida (firebird, digamos). La cadena de conexión incluye el nombre del servidor, de manera que el método de conexión es el tradicional.
    • No hay nada mas que hacer. Sea con un cgi, intraweb, php o lo que querras, la gente puede conectarse a www.xxxxxx.com y consultar la base de datos.
  • El otro servidor también es un webserver, con su ip-publico y todo en regla. Podes hacer que sea un subdominio del principal. Digamos db.xxxxxx.com, y cuando alguien quiere consultar algo de la bd, pues le redirigis alli, donde ya todo trabajará de forma local.

Por cierto, ya que habias habierto este hilo, considero innecesario el mensaje http://www.clubdelphi.com/foros/show...56&postcount=3. Sobre todo tratandose de dos casos totalmente distintos (aunque parezcan parecidos).

Hasta luego.

;)

Mick 16-07-2004 22:41:16

El lugar de alojamiento del servidor de base de datos es irrelevante para el cliente.
El ordenador servidor de base de datos no necesitar ser accesible desde internet, mas bien por cuestiones de seguridad debe ser al contrario.
Es el codigo php alojado en el servidor web el que conecta a la base de datos, el navegador del cliente no conecta nunca a la base de datos ni siquiera sabe que es eso de una base de datos, se limita a mostrar las paginas web que le envia el codigo php.
Asi que para hacer lo que quieres, no tienes que hacer nada especial simplemente configurar la cadena de conexion a interbase en el codigo php para que apunte a donde quieras.
En lugar de poner:

$db_handle= ibase_pconnect( 'localhost:c:\misdatos.gdb','SYSDBA','masterkey','ISO8859_1');

pues simplemente escribes:

$db_handle= ibase_pconnect( 'miservidorelquesea:c:\misdatos.gdb','SYSDBA','masterkey','ISO8859_1');

Saludos
Miguel

oliverinf 19-07-2004 21:04:21

Antes que nada gracias por sus respuestas. Las alternativas que me indicaron son las que había pensado, el tema es que el acceso a internet para la red local es por adsl, con lo cual la IP con que se conecta la PC de la red local es dinamica (no tengo asignada una IP fija), por lo tanto para poder realizar una conxción desde código PHP debo conocer exactamente la Ip del servidor de Datos, con lo cual se me ocurren dos alternativas (acepto sugerencias) :
- Pedir a mi proveedor de internet una IP fija, o bien
- Cada vez que se establece una conexión a internet, informar a mi programa PHP la IP con que se conectó.

Si se puede por razones de simplicidad es mejor la primera , no se que les parece a uds.

Saludos,

tcp_ip_es 20-07-2004 10:41:12

Este link os puede servir:
http://www.no-ip.com/

te crea un dominio y lo redirecciona siempre a tu ip dinámica con lo que el nombre nunca cambiará, y asi tu ip dinámica será fija :D

Saludos, Tony

oliverinf 20-07-2004 14:43:02

Gracias tony por el dato, pero te comento que ya estuve por dicho sitio y para ser sincero no me termina de convencer.
Si lo estas usando te agradeceré que me detalles que tal funciona. Ademas, es free o hay un abono?

Por otro lado, me interesaria hacerlo con las alternativas que indique anteriormente, asi que si alguien hizo lo que necesito pero sin IP fija escucho sugerencias..

saludos,

jachguate 20-07-2004 17:07:00

Cita:

Empezado por oliverinf
con lo cual la IP con que se conecta la PC de la red local es dinamica (no tengo asignada una IP fija), por lo tanto para poder realizar una conxción desde código PHP debo conocer exactamente la Ip del servidor de Datos,

Si estas hablando únicamente del servidor de datos, podes perfectamente usar el nombre del equipo para conectarte a él.

la cadena de conexión puede ser:

"servidordatos:c:\datos\datos.fdb"

por ejemplo.

Si tenes una IP dinámica en el servidor web, la solución ya planteada por el amigo tcp_ip_es es muy buena, y si el servicio de no-ip.com no te convence, tenes otras alternativas, como www.dyndns.org.

Hasta luego.

;)

oliverinf 20-07-2004 18:18:59

Cita:

Empezado por jachguate
Si estas hablando únicamente del servidor de datos, podes perfectamente usar el nombre del equipo para conectarte a él.

la cadena de conexión puede ser:

"servidordatos:c:\datos\datos.fdb"

por ejemplo.

;)

he aqui el problema, es el servidor de datos el que tiene la ip dinamica, con lo cual No puedo acceder de la forma:
"servidordatos:c:\datos\datos.fdb", ya que no conozco la IP.

A lo mejor hay un mal entendido en lo que yo deseo hacer.

"Por un lado existe una red Local con su servidor de Datos (Pc que aloca la BD). POr otro lado en un servidor web se dejará un sistema de consultas (implementado en PHP por ejemplo) que los usuarios accederan desde cualquier browser. La consulta deberá ser realizada a la base de datos que se encuentra en el servidor de datos de la red.
Esta PC tiene una conexion adls con IP Dinamica. Con lo cual la pregunta original era: Como puedo realizar la conexion al servidor de datos si éste tiene una IP dinamica?"

Espero que ahora se entienda (si es que existio el malentendido)

Muchas gracias y saludos

jachguate 20-07-2004 18:20:47

El webserver y el dataserver están en la misma red local?

oliverinf 20-07-2004 18:29:31

Cita:

Empezado por jachguate
El webserver y el dataserver están en la misma red local?

NO... por eso te decia de la imposibilidad de acceder de la forma en que mencionabas.

Yo quiero que el servidor de datos sea una pc local a mi red.

saludos.

jachguate 20-07-2004 18:51:00

Cita:

Empezado por oliverinf
Yo quiero que el servidor de datos sea una pc local a mi red.

Pues esta pc debe responder a un ip público (estático o dinámico).

Si es estático, te conectas de la forma:

216.230.1.4:c:\datos\datos.fdb o
216.230.1.4:/home/jachguate/datos.fdb

si es dinámico, bien te vales de algun servicio de los ya mencionados, para obtener un identificador global y conectarte de la forma:

subdominio.dyndns.org:c:\datos\datos.fdb o
subdominio.dyndns.org:/home/jachguate/datos.fdb

o bien estableces un mecanismo para informar al webserver de la IP asignada cada vez al servidor de datos. Bien puede ser un simple script PHP que registre la dirección pasada como parámetro (GET o POST) en un archivo de texto. Luego, el PHP que consulta la BD abriría este archivo cada vez, antes de conectarse a la BD y utilizaria esta información para establecer la conexión.

Hasta luego.

;)

raul_sal 20-07-2004 20:52:59

Es lo mismo para MySQL
 
Que tal amigos yo tengo que realizar algo similar pero con MySQL seria lo mismo para esta base de datos.

Gracias.

oliverinf 20-07-2004 21:13:43

jachguate , muchas gracias por tu ayuda voy a probar la alternativa que me indicas.
saludos.

jachguate 20-07-2004 23:32:49

Que tal Raul.

La conexión remota es posible para cualquier motor. Simplemente el webserver ha de tener instaladas las librerias, clientes y otros accesos que hagan falta para echar a andar cualquier programa que intente conectarse a la BD.

hasta luego.

;)

raul_sal 21-07-2004 03:53:15

Conexion con MySQL en un Hosting Compartido
 
Para poder realizar esto me imagino que si es necesaria una direccion de IP fija, no estoy seguro por eso me gustaria que me echaran una mano ya que me urge montar mi sitio web y necesito confirmar si necesito IP FIja o no

Muy Agradecido

jachguate 21-07-2004 05:40:13

Cita:

Empezado por raul_sal
me imagino que si es necesaria una direccion de IP fija

No necesariamente fija, pero si pública.

En el caso de ip dinámica (variable) se han mencionado en este hilo por lo menos dos soluciones para asociarles un dominio que se ajuste dinámicamente a su IP.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 19:54:02.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi