Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-10-2007
carlos gonzalez carlos gonzalez is offline
Miembro
 
Registrado: may 2005
Posts: 108
Poder: 19
carlos gonzalez Va por buen camino
consulta a varias bases de datos

Hola amigos tengo una duda.

Alguien sabe si es posible hacer una consulta a varias bases de datos.

Es decir tengo una aplicacion desarrollada en delphi7 y por medio de DBEXPRES me conecto a una base de datos de DB2 pero nesecito cruzar una tabla de db2 con otra de interbase.

Alguien sabe si es posible hacer esto.

Saludos....
Responder Con Cita
  #2  
Antiguo 03-10-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
mmm, Eso es posible con MsSql server y se le llama Servidores vínculados.

Deberías considerar pasarte a MsSql.

Suerte
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #3  
Antiguo 03-10-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
La verdad es que entre BD del mismo puede haber alguna opción, pero entre dos Bases de datos distintas, me parece muy, pero que muy difícil.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 03-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Bueno, con dbexpress nos podemos conectar a varias bases de datos, llamese MySQL, DB2, Interbase, SQLServer, Oracle... no creo que puedas hacer un "select bdDB2.Codigo, bdInterbase.Descripcion from ...", pero si quieres algo preciso podrias implementarlo en tu aplicación...

Supongamos que quieres los datos que coincidan entre una tabla que esta en la BD de DB2, con los datos de una tabla que esta en la BD de Interbase... con un par de TSQLConnection, apuntando cada uno a su respectiva BD se podria lograr dicho efecto .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 03-10-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por jhonny Ver Mensaje
... con un par de TSQLConnection, apuntando cada uno a su respectiva BD se podria lograr dicho efecto.
¿Con una sóla consulta se podría logar eso?
¿Puedes explicar cómo Jonnhy?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 03-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por Neftali Ver Mensaje
¿Con una sóla consulta se podría logar eso?
¿Puedes explicar cómo Jonnhy?
No, seguro me hice entender mal... aunque de hecho escribi:

Cita:
Empezado por jhonny
no creo que puedas hacer un "select bdDB2.Codigo, bdInterbase.Descripcion from ..."
Seguro el mal entendido lo he causado con la siguiente frase:

Cita:
Empezado por jhonny
pero si quieres algo preciso podrias implementarlo en tu aplicación...
Nunca he logrado hacer eso con una sola consulta, lo que si he logrado es traer los datos que coinciden entre una tabla de una BD, con los de una tabla de otra BD (de distintos motores), pero para eso he tenido que traer dos TSQLConnection apuntando cada uno a su respectiva base de datos y luego examinar los datos por medio de sus TDataSets (Respetivamente conectados), con una cantidad de "chapuserias" como locate y esas cosas... logrando asi el "efecto" deseado, pero de hacer todo eso con una sola consulta... pues sería estupendo poderlo hacer y si supiera hacerlo no duden en que ya les hubiera dicho como es la cosa .

P.D. En todo caso, disculpas por el mal entendido.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/

Última edición por jhonny fecha: 03-10-2007 a las 16:29:47. Razón: P.D.
Responder Con Cita
  #7  
Antiguo 03-10-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Ok, aclarado...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 03-10-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Cita:
Empezado por jhonny Ver Mensaje
No, seguro me hice entender mal... aunque de hecho escribi:



Seguro el mal entendido lo he causado con la siguiente frase:



Nunca he logrado hacer eso con una sola consulta, lo que si he logrado es traer los datos que coinciden entre una tabla de una BD, con los de una tabla de otra BD (de distintos motores), pero para eso he tenido que traer dos TSQLConnection apuntando cada uno a su respectiva base de datos y luego examinar los datos por medio de sus TDataSets (Respetivamente conectados), con una cantidad de "chapuserias" como locate y esas cosas... logrando asi el "efecto" deseado, pero de hacer todo eso con una sola consulta... pues sería estupendo poderlo hacer y si supiera hacerlo no duden en que ya les hubiera dicho como es la cosa .

P.D. En todo caso, disculpas por el mal entendido.


Precisamente por eso me gusta tanto MsSql, Pues en ese motor es posible hacer algo como lo siguiente:

Código SQL [-]
   Select *
        From MsSql.Dbo.Tabla As Tabla1
    Inner join Db2.Tabla As Tabla2
             On Tabla.Clave = Tabla2.Clave
    Inner join Mysql.Tabla As Tabla3
             On Tabla.Clave = Tabla3.Clave
    Inner join FireBird.Tabla As Tabla4
             On Tabla.Clave = Tabla3.Clave

:P, chulada lo de los servidores vinculados en MsSql.
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #9  
Antiguo 03-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por poliburro Ver Mensaje
Precisamente por eso me gusta tanto MsSql, Pues en ese motor es posible hacer algo como lo siguiente:

Código SQL [-]
   Select *
        From MsSql.Dbo.Tabla As Tabla1
    Inner join Db2.Tabla As Tabla2
             On Tabla.Clave = Tabla2.Clave
    Inner join Mysql.Tabla As Tabla3
             On Tabla.Clave = Tabla3.Clave
    Inner join FireBird.Tabla As Tabla4
             On Tabla.Clave = Tabla3.Clave

:P, chulada lo de los servidores vinculados en MsSql.

¿¿¿Ahh si??? , buenisimo, ¿Sabes si con Oracle se podra hacer tambien?
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #10  
Antiguo 03-10-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
mmm, De oracle no me considero experto, por lo que no podría asegurarte nada. Pero de lo que si estoy seguro es que puedes vincular servidores diferentes aún siendo versiones distintas.

En mi caso específico tengo un database link (que así se llama en oracle) entre oracle 10G express y Oracle 8i Standard.
__________________
Conoce mi blog http://www.edgartec.com

Última edición por poliburro fecha: 03-10-2007 a las 23:46:41. Razón: error de sintaxis
Responder Con Cita
  #11  
Antiguo 04-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Aún asi tambien esta interesante, supongo que tambien debe haber una forma de hacerlo en oracle
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #12  
Antiguo 04-10-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Cita:
Empezado por jhonny Ver Mensaje
Aún asi tambien esta interesante, supongo que tambien debe haber una forma de hacerlo en oracle
concuerdo contigo, puesto que oracle es un motor mucho más potente que Sql Server.
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #13  
Antiguo 04-10-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Sabía lo que son los "Linked Servers" en SQL Server e incluso alguna vez los he utilizado (no mucho por temas de que son muy lentos, aunque cuando no hay más remedio...)
Lo que no sabía (gracias Poliburro) es que se podían vincular vía OLEDB otros servidorres que no fueran tipo "SQL Server".
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #14  
Antiguo 04-10-2007
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Smile Puede hacerse perfectamente con BDE

Hola,

Las consultas multimotor son una de la facilidades del BDE que se han perdido en dbExpress.

Para tú caso particular, esta solución puede ser mejor, ya que no depende de involucrar otro motor.

Con BDE, se pueden hacer estas consultas mediante SQL Local usando como puente una "Base de datos" PARADOX (para forzar a SQL Local); que es simplemente un directorio vacio al que se asocia un Alias BDE. La consulta puede hacerse entre varios motores, incluso sin involucrar tablas de la "Base de Datos" que se usa como puente.

Esto es lo que se conoce como "Uniones Heterogeneas". He aquí un ejemplo:

Código SQL [-]
Select A.NOMBRE,A.CODIGO,B.CODIGO 
FROM ":ALIASINT:TABLA1" A,":ALIASORA:TABLA2"
WHERE A.NOMBRE = B.NOMBRE

El nombre de la tabla se prefija mediante un Alias BDE, encerrado entre dos puntos, y todo se encierra entre doble comilla.

Para mayor información pueden consultar el archivo localsql.hlp del directorio de instalación del BDE. Simplemente en el índice escriban "heterogeneous join"

Quisiera agregar que este es un mecanismo muy útil cuando se está en proceso de depuración de datos (por ejemplo, usando el SQL Explorer); pero, aunque por rendimiento de la aplicación y unicidad de datos puede ser necesario hacerlo, metodológicamente no es recomendable usar esta técnica en un programa por el control que debe hacerse de cada conexión a Bases de Datos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Crear una transacción que modifique varias bases de datos Borjaserrano Firebird e Interbase 4 17-09-2007 08:54:58
comparacion entre varias bases de datos edelphi Conexión con bases de datos 9 26-02-2007 23:51:26
varias bases de datos... como?? User_baja1 MS SQL Server 3 25-05-2005 14:27:41
Es posible tener varias bases de datos.... Carlosguiland MySQL 5 24-06-2004 20:39:10
Una Consulta De 2 Bases De Datos Diferentes edy_aca SQL 2 12-12-2003 11:24:49


La franja horaria es GMT +2. Ahora son las 20:40:17.


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
Copyright 1996-2007 Club Delphi