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)
-   -   Conectar Base de Datos con Sockect (https://www.clubdelphi.com/foros/showthread.php?t=35337)

Caral 07-09-2006 17:13:45

Conectar Base de Datos con Sockect
 
Hola a todos
Sigo pensando en esto y pues no llego, a ver si se les ocurre algo, o si por el contrario suena tonto.:rolleyes:
Consideracion: Casi todos conocemos como conectarnos a bases de datos con ADOConection.o con Zeos, es muy simple y sin problemas. ahora bien se me ocurre lo siguiente::D
Pregunta: Se puede conectar de forma similar con una base de datos por medio de los componentes (clientesocket y serversocket).
Se como conectar uno con otro por medio de IP y Puerto, se conectan bien pero no se como pedirle al serverSocket que me enseñe la base de datos como lo hace el tipico AdoConection o algo asi.:confused:
Bueno club a ver si se les ocurre algo y salgo de esto de una vez por todas.:)
Saludos

jachguate 07-09-2006 17:36:21

¿Reinventar la rueda?

En muchas de las bases de datos que conocemos, la parte cliente instalada en el equipo establecerán comunicación via sockets con su contraparte servidora, atendiendo un protocolo que permite que se comuniquen y que la magia fucione.

Allí tenemos al cliente de firebird (fbclient.dll) o al de interbase (gds32.dll) que soportan el protocolo TCP/IP toda la maquinaria de oracle, que también soporta TCP/IP.

AdoConnection, Zeos o cualquier otra capa de acceso a datos se apoya en estos clientes, atacando sus API's, cosa que puede resultar extremadamente complicada para el programador de aplicaciones comun, como yo.

Hasta luego.

;)

Caral 07-09-2006 17:49:53

Me parece muy puntual pero::)
Sigo con la duda.:confused: un simple no se puede o estas loco me sentaria mejor.
Hablar de Dll suena bien pero no concreta, ya que mi conocimiento de estas es minimo.
Tal vez una explicacion mas cerca de la tierra la podria entender mejor.
Saludos

jachguate 07-09-2006 17:54:23

Cita:

Empezado por Caral
Me parece muy puntual pero::)
Sigo con la duda.:confused: un simple no se puede o estas loco me sentaria mejor.
Hablar de Dll suena bien pero no concreta, ya que mi conocimiento de estas es minimo.
Tal vez una explicacion mas cerca de la tierra la podria entender mejor.
Saludos

Si se puede (todo se puede). La pregunta para mi es ¿tiene sentido?. ¿por que no hacer windows de nuevo? ¿o linux?

Si hablar de una DLL ya te parece complicado... ni hablar de hacer la ingeniería inversa e implementar el protocolo de comunicación de Oracle.. :D

Saludos.

;)

Caral 07-09-2006 18:03:14

Sigo insistiendo, por que no:
Por que no hacer windows o linux de nuevo, por que no es que hasta aqui llegamos, la tecnologia paro, apaguen las maquinas.
La pregunta creo es puntual y por mas tonta que parezca la pregunta mas tonta es la que no se hace.
Sigo con la duda.
Saludos

jachguate 07-09-2006 18:10:02

quizas no he entendido tu duda original.

si es: ¿Se puede conectar a un servidor de base de datos mediante tcp/ip?, la respuesta es: Si se puede.

Si la pregunta es ¿que debo hacer para conectarme a un servidor de base de datos mediante tcp/ip y lanzar un query?
La respuesta es: Debes establecer una conexión por sockets al puerto del servidor en donde escucha la BD y ejecutar la secuencia de transmisiones que el protocolo de dicha base de datos manda para realizar los diferentes pasos de una conexión a la bd)

Si la pregunta es: ¿Puedo hacer esto desde delphi?
la respuesta es: ¡Claro que si!

Si la pregunta es: ¿como pedirle al serversocket que me enseñe la base de datos cmo lo hace el típico AdoConnection?
La respuesta es: No se lo que eso significa, pues un AdoConnection no "enseña la base de datos" de ninguna forma.

Hasta luego.

;)

Caral 07-09-2006 18:22:50

Gracias Jachguate ahora si me entiendes vamos bien:) :)
Si me indicas que puedo conectarme con la base de datos por medio de tcp/ip,
Pregunta: Crees que me puedo conectar a una base de datos access con esto. y si es asi que componente usar y como.:confused:
Uso Delphi 6:)
Con respecto al ado tienes razon, este simplemente me conecta, la tabla la veo desde el adotable u query. (me explique mal lo siento).
Saludos

jachguate 07-09-2006 19:18:38

Cita:

Empezado por Caral
Pregunta: Crees que me puedo conectar a una base de datos access con esto. y si es asi que componente usar y como.:confused:

Access no es una base cliente servidor, por lo que no hay un servidor del otro lado al cual conectarse. Desconozco como lo hará el "jet" de m$, pero supongo que será una apertura compartida del archivo con manejo de bloqueos, al estilo de paradox o fox. Eso te lo digo por puro concepto, porque no he trabajado a profundidad con access, y quien quita y el propio sistema operativo abre un puerto al cual conectarse. En todo caso, hacer ingeniería inversa de los protocolos de M$, que no están documentados por ningún lado, es mas dificil todavía. Si no, preguntales a los del proyecto Samba :D

Hasta luego.

;)

Caral 07-09-2006 19:23:21

Gracias jachguate
A por otra que ya conestaste mi duda, a seguir aprendinendo que no queda otra.
Saludos y gracias de nuevo.

Alexander 12-09-2006 06:05:51

Pueden existir varias soluciones, según el problema
 
Según lo que entiendo vas a conectarte a una base acces desde otras máquinas, por tcp/ip.

Me imagino que para no utilizar una carpeta compartida de la base de datos o algo similar.

Lo que puedes es crear un pequeño protocolo y haces dos exes uno que solicite y otro que reciba y responda. El que solicita está en tus clientes y el otro en el servidor. y listo, allí hay comunicación por sockets.

Yo creo que deberías explicar exactamente que quieres y que no quieres hacer, o cual es tu entorno y sus limitaciones para poder dar una solución u opciones, y no preguntar de forma ambigua donde se crean respuestas ambiguas.


Blue Sky.

Alexander.


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

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