![]() |
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.... |
mmm, Eso es posible con MsSql server y se le llama Servidores vínculados.
Deberías considerar pasarte a MsSql. Suerte |
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.
|
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 :). |
Cita:
¿Puedes explicar cómo Jonnhy? |
Cita:
Cita:
Cita:
P.D. En todo caso, disculpas por el mal entendido. |
Ok, aclarado...:D:D
|
Cita:
Precisamente por eso me gusta tanto MsSql, Pues en ese motor es posible hacer algo como lo siguiente:
:P, chulada lo de los servidores vinculados en MsSql. |
Cita:
¿¿¿Ahh si??? :eek:, buenisimo, ¿Sabes si con Oracle se podra hacer tambien? |
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. |
Aún asi tambien esta interesante, supongo que tambien debe haber una forma de hacerlo en oracle :)
|
Cita:
|
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".:D:D:D |
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:
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. |
La franja horaria es GMT +2. Ahora son las 12:57:12. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi