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)
-   -   Union de dos conexiones (https://www.clubdelphi.com/foros/showthread.php?t=28837)

ElDioni 04-01-2006 10:25:58

Union de dos conexiones
 
Hola, tengo un programa que tenia una base de datos, dentro de esta base de datos tenia todas las tablas que necesitaba mas tres tablas más que estaban vinculadas a otra base de datos que era la de una agenda, vinculaba la tabla de clientes, la de agentes y la de provincias. Bueno, el caso es que yo me hice una copia de estas bbdd para realizar el programa por lo que los vinculos apuntaban a una copia de la agenda. lo que ocurre es que la tabla de agenda esta vinculada a muchos programas y al vincular el mio una vez ya terminado este se relentizó muchisimo, el caso es que mi objetivo es quitar las tablas vinculadas y hacer una conexión nueva directamente a la bbdd de agenda para mejorar la velocidad de acceso. Mi problema es que algunas de las consultas que tenía en los adoquery hacían referencia a las tablas de clientes y agentes junto con otras tablas de mi projecto, como puedo ahora realizar una consulta en donde una dos bases de datos para sacar los datos de la bbdd de ageda y la de presupuestos que es la otra. Creo que se puede hacer por sql pero no estoy seguro, si alguien lo sabe por favor agradecería mucho su ayuda, trabajo con delphi 7 y access 97

delphi.com.ar 04-01-2006 13:25:18

Cita:

Empezado por ElDioni
...como puedo ahora realizar una consulta en donde una dos bases de datos para sacar los datos de la bbdd de ageda y la de presupuestos que es la otra.

En concreto quieres hacer una consulta entre tablas de diferentes bases de datos sin utilizar tablas vinculadas... Acces te lo permite mediante el uso de la instrucción IN!

Código SQL [-]
SELECT *
FROM TABLA_LOCAL, TABLA_REMOTA IN "C:\Base2.mdb"

Saludos!

ElDioni 04-01-2006 15:56:09

Ya probé eso que me dices del in pero pasa lo siguiente

SELECT *
FROM Presupuestos, clientes IN '\\Servidor-new\project\delphi\presupuestos\agenda.mdb'
WHERE Presupuestos.codcli=clientes.codcli;

la tabla de presupuestos es la local que esta en la base de datos de presupuesto y la de agenda.mdb es la de los clientes,agentes, etc, me guarda la consulta sin ningún problema pero al ejecutarla me dice que no existe la tabla de presupuestos, yo supongo que busca la de presupuestos en la bbdd de agenda.
A ver si descubris porque me pasa, y gracias a los que se han molestado en leer y contestar a mis dudas

delphi.com.ar 05-01-2006 14:23:43

Cita:

Empezado por ElDioni
...yo supongo que busca la de presupuestos en la bbdd de agenda...

Si no no defines explícitamente de donde tomar la tabla, la toma de la base de datos local, donde has establecido la conexión.
Desconozco que te puede estar fallando...

ElDioni 05-01-2006 14:43:15

SELECT * FROM [presupuesto.mdb].presupuestos,[agenda.mdb].clientes in '\\Servidor\delphi\presupuestos\agenda.mdb' where presupuestos.codcli=clientes.codcli

eso lo he puesto en el text del adoquery y el connection string lo siguiente

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\Servidor\Delphi\Presupuestos\presupuesto.mdb;Persist Security Info=False,Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\Servidor\Delphi\presupuestos\agenda.mdb;Persist Security Info=False

de esta forma no se si es lo mas correcto pero asi me funciona.
Gracias por molestarse en ayudarme y espero que esto que he puesto sirva para alguien


La franja horaria es GMT +2. Ahora son las 22:51:15.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi