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)
-   -   Consulta a dos bases de datos access (https://www.clubdelphi.com/foros/showthread.php?t=84220)

rarratia 23-09-2013 01:46:17

Consulta a dos bases de datos access
 
Estimados ¿saben como obtener una consulta tomando datos de dos base de datos access diferentes con ADO desde delphi 2010?

Neftali [Germán.Estévez] 23-09-2013 11:29:21

¿Has probado a vincular las tablas de la BD1 en la BD2?
De esa forma tendrías en BD2 todas las tablas "accesibles".

rarratia 24-09-2013 02:47:19

Cita:

Empezado por Neftali (Mensaje 467238)
¿Has probado a vincular las tablas de la BD1 en la BD2?
De esa forma tendrías en BD2 todas las tablas "accesibles".

En estos momentos estoy usando vinculación, pero yo quería saber si se podía hacer una consulta desde delphi en que pueda unir una tabla externa con un Left outer Join

ozsWizzard 24-09-2013 19:06:21

No tendría lógica que se pudiera.

El componente en el que hagas la consulta depende de una conexión, esta conexióa mira a una sola base de datos, por tanto... la única forma de hacerlo posible es que desde una base de datos sea vea la otra.

rarratia 25-09-2013 02:01:23

Cita:

Empezado por ozsWizzard (Mensaje 467284)
No tendría lógica que se pudiera.

El componente en el que hagas la consulta depende de una conexión, esta conexióa mira a una sola base de datos, por tanto... la única forma de hacerlo posible es que desde una base de datos sea vea la otra.

Estimado lo que dices suena razonable, pero en MSSqlServer existe el comando select para leer las dos bases de datos y en Access algunos dicen que se hace algo así como:

Código Delphi [-]
SELECT * 
FROM [;database=C:\SomePath\dbA.mdb].Table1 A
     INNER JOIN
     [;database=C:\SomeOtherPath\dbB.mdb].Table2 B
     ON A.fld1 = B.fld1
No he descubierto si esto es soportado en ODBC o en ADO, es un tema a investigar más

Saludos

olbeup 25-09-2013 09:29:37

Hola rarratia,

Lo que dices es factible, en casa tengo un programa que consulta dos tablas en distintas base de datos, cuando llegue a casa lo miro y te lo envío.

Yo trabajo en SQL Server y vinculando ambas base de datos las puedes consultar también, incluso puedes vincular una tabla de SQL Server con otra de MSAccess.

Un saludo.

rarratia 26-09-2013 02:29:19

Gracias amigo, mi interés es particularmente entre dos bases de datos de Access. En MSSqlServer me consta que si se puede hacer.

Saludos

olbeup 26-09-2013 09:15:39

Hola rarratia,

Es correcta la SQL que has puesto en el MSG #5, de esa forma se abre una tabla en una base de datos externa, si no lo abre o te da error es posible que tenga un password

¿Cual es el problema que no te muestra ningún resultad?

Un saludo

rarratia 27-09-2013 03:38:54

Estimado Olbeup:

La sintaxis que puse en el mensaje con respecto a la consulta no me ha resultado, la puse a vosotros por si pudieran ustedes dar con la sintaxis correcta. Mientras tanto aun sigo usando dos bases vinculadas, pero sería bueno tener un resultado sin tener que vincular bases de dato access sino con sql poder hacer un join con dos bases de datos distintas. (He probado con la password correcta, me parece que el problema no va por la password sino por sintaxis)

Saludos


La franja horaria es GMT +2. Ahora son las 09:35:22.

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