PDA

Ver la Versión Completa : Acceso a datos en forma remota


oscarac
13-11-2013, 16:14:03
recuedo haber visto algo de esto en este foro (capas)
la idea es tener un sistema/programa que pueda leer informacion de bases de datos remotas
alguien sabe, como hacer ese procedimiento?
si tuvieran un ejemplo paso a paso
estoy trabajando con SQL Server

zeta2
13-11-2013, 23:59:19
Si trabajaras con MySQL te puedo ayudar.

Saludos.

olbeup
14-11-2013, 09:24:35
Hola oscarac,

Mira este link (http://www.clubdelphi.com/foros/showthread.php?t=74401&highlight=1433) haber si te vale o este otro (http://www.clubdelphi.com/foros/showthread.php?t=77974&highlight=1433)

Un saludo.

oscarac
14-11-2013, 20:56:24
voy a revisar

jpgonzalez
20-11-2013, 16:35:18
Buenas oscarac... yo utilizo el componente de conexion de Zeos, el ZConnection y puedo conectarme a bases remotas, ya sea por nombre del servidor o por ip.
Es muy facil de usar y de configurar, y podes tener tantas conexiones como quieras en tu programa.
Si te sirve, te detallo paso a paso como hacerlo. Abrazo!

oscarac
20-11-2013, 20:22:09
debo suponer que zeos = ado? (en funcionamiento)
si no hay que hacer muchos cambios me interesaria aprender

jpgonzalez
21-11-2013, 01:13:35
Buenas Osarac, no he usado nunca ADO, pero Zeos es simple... tenes un componente donde elegis el protocolo (mysql, mssql, etc), pones el hostname, el user yel root entre otras cosas mas, y automaticamente el componenete hace la conexion.
Luego usas ZQuerys (que son las querys de Zeos) y le seteas para que tomen los datos de tu ZConnection... mañana te paso mas data, porque tengo varias cosas en mi trabajo.
Abrazo!

olbeup
21-11-2013, 09:01:50
Hola oscarac,

Da igual el componente a utilizar para conectarte a (mysql, mssql, firebird, interbase o el primo de zumo sol), para que tenga éxito en la conexión, en primer lugar hay que abrir los puertos correspondientes al motor a utilizar en el router (ADSL) de tu empresa, apuntando al servidor donde esta instalado el motor de SQL, yo utilizo SQL Server 2005 y en el router tengo abierto los puertos correspondientes a este motor, mira haber que puertos necesitas para el motor que estés utilizando.

Yo utilizo ADO ya que funciona muy bien con SQL Server, tu puedes utilizar éste mismo o cualquier otro que te resulte mas cómodo.

mysql = 3306
mssql = 1433, 1434
firebird, Interbase = 3050

Los puerto se abren en el apartado de virtual server del ROUTER (ADSL) puede cambiar según modelo.

Un saludo

genriquez
22-11-2013, 16:23:41
Cuando hablan de base de datos remotas, pueden estar dentro de una red local LAN que es una red muy estable y con velocidades minimas de 100mbps, en este caso es fácil conectarse via el driver de la base de datos, sea cual sea.

Pero si lo que estas buscando es una conexión a base de datos remotas via Internet, tienes tres opciones

1. Crear una VPN (Virtual Private Network) existen programas para eso y es relativamente fácil, la ventaja es que extiende la red local sobre internet, es segura y muy simple de manejar. la desventaja es que requiere instalar software en cada equipo y cuando se conecta via VPN se asigna una IP nueva al equipo dado que prácticamente cambia de red.

otra gran desventaja es que consume mucho ancho de banta, por lo cual es necesario tener buenos canales de comunicación, aún así no te recomiendo tener muchos usuarios en este modelo, yo tengo una empresa que ya llegó a los 50 usuarios conectados de esta manera, pero tiene un canales dedicados y un servidor especial para proveer el VPN. pero creo que más de 10 o 20 según el ancho de banda puede ser el límite.

2. Definitivamente no te recomiendo solo abrir el puerto y el ip de tu base de datos a internet, primero por el aspecto de seguridad y segundo porque las bases de datos están diseñadas para trabajo en conexiones estables, así que si la conexión se cae, tu aplicación se cae inmediatamente. afectando no solo el cliente, sino tambien el rendimiento del servidor, de que se puede hacer, si se puede, que lo debas hacer, definitivamente no.

3. La tercera opcion y la más usada en este momento para redes como internet, donde hay límites de la velocidad de acceso y la conexión no es estable (Se puede caer en cualquier momento), es el uso de un software mediador llamado genericamente Middleware.

El middleware permite crear aplicaciones en 3 capas y 3 niveles, es quien maneja la conectividad y la persistencia si fuera necesario por si se cae la conexión.

Hay varias tecnologías para hacer esto, en Delphi se conoce como DataSnap anteriormente Midas, en Microsoft se conoce como Com, DCom o Com+, en Java se utiliza el JBoss o Tomcat. según la tecnología se puede usar navegador o conexiones directas sin el navegador como en DataSnap y DCom, igualmente se puede implementar las 3 capas por medio de navegadores con WebServices o Rest.

Si estas trabajando en Delphi te recomiendo hacerla con DataSnap o existen productos comerciales que te puede facilitar la vida al publicarte las bases de datos para que Delphi lo entienda como si fuese una base de datos.

Saludos.