![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
como explique arriba, no es una sola base de datos; asi que eso no se puede hacer; no son dos tablas en una base, son multiples bases con la misma tabla, creo que eso quedo bien explicado.
un select normal no me puede comprender mas de una base ya que con un componente de delphi no se pueden hacer multiples conexiones, de ahi a que tengo que hacer un select de cada tabla, crear un script y correrlo en la base nueva. te agradezco la ayuda igualmente ^_^ |
|
#2
|
||||
|
||||
|
Cita:
![]() Pues, tranquilamente puedes hacer tu consulta SQL aunque sea de multiples base de datos por ejemplo;( siguiendo el ejemplo de Neftali): o si quieres mas cortita(usando alias)
.Desde luego debes tener los privilegios adecuados para ambas base de datos y sus respectivas tablas. ![]() Nota: Probado con MySQL y los componentes Zeos (aunque no exactamente la misma consulta) ![]() Saludos... ![]()
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 |
|
#3
|
||||
|
||||
|
Hay algo que yo no entiendo todavia, o evidentemente no lo aprendi.
Segun lo que estuve haciendo, para conectarme a una base firebird (lo puse al final de todo que la estoy usando) lo que hago es poner en delphi 3 componentes, un IBdatabase con los datos de la base, un IBquery linkeado a esa base y un DataSource linkeado al ibquery. Cuando quiero hacer una consulta, hago IBQuery1.SQL := 'select blablablablablabla'; para ver los resultados pongo un DBGrid linkeado al datasource. Yo en ese query no puedo hacer referencia a dos bases diferentes, porque ese query esta linkeado a una sola base; al igual que el DBgrid no puedo linkearlo a mas de un datasource. |
|
#4
|
||||
|
||||
|
Cita:
pero lo que estoy proponiendo es hacer la referencias a las dos bases de datos en la consulta SQL , tal cual como te he puesto en el ejemplo .Tan solo reemplaza MyBaseName1,MyBaseName2,Table1,Table2,por los nombres de tus Bases de Datos y Tablas respectivamente.Al menos probalo...y luego nos comentas. .
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 |
|
#5
|
||||
|
||||
|
Si es Firebird lamentablemente ese tipo de consulta no funcionará, a menos que las tablas pertenezcan a una misma base de datos.
En Firebird, hasta el momento, no se pueden realizar consultar entre dos o más bases de datos. Se espera que para la versión 2.5 o 3 se añada dicha característica. Saludos, |
|
#6
|
||||
|
||||
|
Cita:
|
|
#7
|
||||
|
||||
|
Yo me encontré con un problema parecido, pero tenía 2 grandes diferencias con el tuyo:
1.- Sólo tenía que pasar una tabla (parte) de una base de datos Firebird a otra en vez de dos como es tu caso. 2.- Con lo de parte me refiero a que no tenía que pasar la tabla entera, seleccionaba los registros que me interasaban, ya fuera el criterio con un rango entre 2 fechas o por descripción. La selección mayor que tenía que "exportar" como mucho tendría unos 1500 registros, no 6000 como es tu caso. No se como te irá esta solución en cuanto a velocidad y/o rendimiento. Aunque pensándolo bien después de leer esto: Cita:
De todas formas te cuento: Primero habría que hacer un select de la tabla de la base de datos Local1 (si es con el criterio "desde" y "hasta" mencionado antes mejor) con su IBQuery correspondiente (vamos a llamarle IBQuery1). Después la recorremos, y hacemos un select de la tabla de Local2 (IBQuery2) utilizando como criterio por ejemplo el código del registro por el que vamos de IBQuery1. Una vez echo esto montaríamos una cadena con el INSERT, que tendría como campos el Código, Nombre y Precio de IBQuery1 + el precio de IBQUERY2. Ejecutaríamos el INSERT y ya tendríamos un registro en la nueva tabla (puedes usar un IBQuery3 o borrar el SQL de IBQuery2 e insertarlo desde ahí mismo). Mas o menos el código sería algo así:
Obviamente cambiando los nombre de las tablas, campos, controles, etc. por los tuyos. Espero que te sirva ![]() * Nota: cada IBQuery apunta a su IBDatabase correspondiente.
__________________
No hope, no dreams, no love, my only escape is Underground Última edición por Axel_Tech fecha: 02-12-2009 a las 11:34:10. |
|
#8
|
||||
|
||||
|
Cita:
Sin ir más lejos en SQL Server puedes utilizar LINKED SERVERS para lanzar una consulta como la que necesitas (que involucre varias tablas de varios servidores). Desconozco si en otros SGBD's hay algo similar. AÑADO: Veo que rgstuamigo ya ha contestado.
__________________
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. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Tomar datos del lector de código de barras | jam888 | OOP | 4 | 22-03-2010 17:53:03 |
| Tomar datos de otra aplicacion | dblx | API de Windows | 4 | 23-12-2008 01:16:38 |
| Tomar datos de excel | vinagre3ro | Internet | 2 | 04-10-2006 09:59:28 |
| Hola soy muy nueva en esto de las bases de datos y deseo imprimir tablas | nuri | Impresión | 1 | 05-07-2005 19:49:31 |
| Como mostrar los datos para luego insertarlos? | judoboy | OOP | 8 | 14-05-2003 09:51:51 |
|