Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Conexión tablas paradox por internet (https://www.clubdelphi.com/foros/showthread.php?t=23088)

Aprendiendo 06-07-2005 15:19:03

Conexión tablas paradox por internet
 
Ante todo un salud@

Necesitaría saber como conectar varios equipos de la misma empresa pero en distintos edificios. Debería de ser vía Internet (las tablas están diseñadas en formato Paradox).

Esperando una pronta respuesta, reciban un cordial saludo...
:( :cool: :(

roman 06-07-2005 17:24:33

Paradox es una base de datos de escritorio lo que significa que en principio sólo puedes acceder a sus tablas directamente y no através de Internet.

Alguna vez, por experimentar sólamente, configuré un acceso através de Internet usando DataSnap pero ignoro cuan bueno sea su rendimiento ni qué suceda con varias estaciones accediendo simultaneamente.

Básicamente tienes que crear una aplicación servidor en donde estén tus tablas y agregar un RemoteDataModule. En él pones un Table y un DataSetProvider enlazados entre sí por cada tabla a la que quieras acceder y registras el servidor corriendo la aplicación con el parámetro /regserver.

Ya sin este parámetro vuelves a correr la aplicación y a la vez corres la aplicación scktsrvr.exe localizada en la carpeta bin de Delphi. scktsrvr sirve para controlar las peticiones entrantes.

En la aplicación cliente colocas una componente SocketConnection. En su propiedad Address pones la IP del servidor y apuntas su propiedad ServerName al servidor. El servidor debe estar ejecutándose para poder hacer el enlace. El nombre del servidor lo escoges al momento de agregar el RemoteDataModule en la aplicación servidor.

Por cada tabla en la aplicación servidor colocas un ClientDataSet enlazado al SocketConnection por su propiedad RemoteServer y escoges el provider correspondiente de la lista de su propiedad ProviderName.

A partir de este punto puedes usar el ClientDataSet como cualquier otro DataSet. Puedes enlazarlo a controles dbaware, o usar directamente sus métodos de navegación y edición.

// Saludos

Aprendiendo 07-07-2005 14:25:43

Muchas gracias por tu pronta respuesta, es más o menos lo que quería saber, los componentes a utilizar para poder conectar vía internet.

Decir que lo más lógico hubiera sido crear desde cero una verdadera base de datos servidor-cliente (interbase) pero en un principio se descartó esta posibilidad pero lo demanda la sociedad y ahora el cliente quiere poder conectarse a estas tablas en paradox desde cualquier sitio.

Así que con esta información trataré de conectar los clientes con el servidor.

Un saludo...

Crandel 26-12-2006 14:42:23

como lo resolviste al final?

Aprendiendo 26-12-2006 14:58:00

Pues con MySQL, tuve que rediseñar ciertos apartados del sistema pero como era una aplicación pequeña, no tuve muchos problemas.

Un saludo...

Crashthebig 07-01-2007 22:01:07

Creo que esto es lo que debewrias hacer
 
en verdad solamente lo he intentado con mi propio IP mientras estoy sonectadoo a internet por via dial-up pero creo que de todos formas debe funcionar

el disco duro remoto debe estar como un recurso compartido para que tu puedas acceder a el luego en tu aplicacion crea un boton y eviale este vodigo a tu tabla:
table1.tablename:='\\66.12.40.92\c\datos\socios.db'
table1.active:=true;

el Ip que coloque lo hice albitrariamente pero en lugar de ese debes colocar el ip de la maquina en donde esta la base de datos remota mira a ver si te funciona.

DarkDudae 20-06-2007 18:28:54

Con un poco de retraso...
 
Antes de nada, siento responder tan tarde.

Yo estuve peleandome bastante tiempo con este tema... al final se puede conseguir casi como si fuera en red.... ¿pero qué ocurre? pues que paradox, a no ser una BBDD cliente/servidor, cada vez que necesitaba hacer una consulta, se descargaba toda la tabla entera en un temporal. Si estamos hablando de tablas con cierto número de registros que pueden ocupar varios megas... pues te puedes morir esperando, lo cual hace al programa inviable.

La solución es pasarse a una BBDD cliente/servidor, o bien, programarse una aplicación servidor, como dice román, que intercepte las solicitudes desde otros programas "cliente", y que las procese desde el mismo ordenador en el que se alojan los datos y los reenvíe ya filtrados a los clientes. No obstante, es una solución bastante compleja.

Saludos

Crandel 24-06-2007 06:00:09

Cita:

Empezado por DarkDudae
La solución es pasarse a una BBDD cliente/servidor, o bien, programarse una aplicación servidor, como dice román, que intercepte las solicitudes desde otros programas "cliente", y que las procese desde el mismo ordenador en el que se alojan los datos y los reenvíe ya filtrados a los clientes. No obstante, es una solución bastante compleja.

al final, es menos compleja de lo que parece, fue la solucion que tome, ahora ya me cambie de empresa, pero la migración a MS SQL estaba en marcha, pero el sistema es demaciado grande para acerlo rapido y va a demorar muchos meses el cambio y revisar que todo funcione bien.

Con este metodo pude implementar lo que los clientes estaban pidiendo sin tener que esperar tanto tiempo.


La franja horaria es GMT +2. Ahora son las 04:36:47.

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