Foros del Web » Programación para mayores de 30 ;) » .NET »

Join con 2 tablas de bases de datos diferentes

Estas en el tema de Join con 2 tablas de bases de datos diferentes en el foro de .NET en Foros del Web. Hola buenas Mi duda es la siguiente: de que manera se puede hacer una consulta que tira contra dos tablas de bases de datos distintas ...
  #1 (permalink)  
Antiguo 04/01/2007, 08:45
 
Fecha de Ingreso: enero-2007
Mensajes: 5
Antigüedad: 17 años, 10 meses
Puntos: 0
Join con 2 tablas de bases de datos diferentes

Hola buenas
Mi duda es la siguiente: de que manera se puede hacer una consulta que tira contra dos tablas de bases de datos distintas y distintos proveedores de bbdd para hacer un join?

Un saludo
  #2 (permalink)  
Antiguo 04/01/2007, 14:34
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 20 años, 6 meses
Puntos: 6
Re: Join con 2 tablas de bases de datos diferentes

Cargas las dos tablas en un datasets y luego le aplicas un filtro ó un getchildrow si es que estan relacionadas...
  #3 (permalink)  
Antiguo 06/01/2007, 20:36
Avatar de Korku  
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 21 años
Puntos: 5
Re: Join con 2 tablas de bases de datos diferentes

Cita:
Iniciado por joderjulito Ver Mensaje
Hola buenas
Mi duda es la siguiente: de que manera se puede hacer una consulta que tira contra dos tablas de bases de datos distintas y distintos proveedores de bbdd para hacer un join?

Un saludo
¡¡ Qué manera de complicar las cosas !!
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es
  #4 (permalink)  
Antiguo 06/01/2007, 20:36
Avatar de Korku  
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 21 años
Puntos: 5
Re: Join con 2 tablas de bases de datos diferentes

Cita:
Iniciado por Stream Ver Mensaje
Cargas las dos tablas en un datasets y luego le aplicas un filtro ó un getchildrow si es que estan relacionadas...
Me parece que tu respuesta no es suficientemente clara. Pon un ejemplo, por favor
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es
  #5 (permalink)  
Antiguo 08/01/2007, 08:46
 
Fecha de Ingreso: enero-2007
Mensajes: 5
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Join con 2 tablas de bases de datos diferentes

Quiere decir esto que si una tabla tienes 700000 registros y la otra 2 millones tengo q cargar previamente un dataset con todos?
Por dios debe de haber una manera más fácil y rápida de realizar esta operación. La manera más fácil q le veo yo es vincular una tabla en la otra base de datos y tirar contra ese servidor pero esto no nos está permitido en este caso.
  #6 (permalink)  
Antiguo 08/01/2007, 09:18
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 20 años, 6 meses
Puntos: 6
Re: Join con 2 tablas de bases de datos diferentes

Imaginate que tengas dos tablas, productos y detalle_productos, c/u con providers difentes pon tu productos en sql server y detalle_productos en Mysql, y imaginate que agregas una relacion a tu dataset de destino en el cual llenaras ambas tablas...

Código:
MiAdapterSqlServer.Fill(MiDataset,"select * from productos where idproducto=
15")

MiAdapterMySQL.Fill(MiDataset,"select * from detalle_productos where idproducto=15")

'Creamos una relacion 
Dim cParent As DataColumn = Me.Tables("Productos").Columns("IdProducto")
Dim cChild As DataColumn = Me.Tables("Detalle_productos").Columns("IdProducto")
MiDataset.Relations.Add("Producto_DetalleProducto", cParent, cChild)
Bueno, aho queda ya relacionado..
Ahora, si recorres los rows en productos...

Código:
           For Each drp As DataRow In MiDataset.Tables("productos").Rows
                '//haces aqui operaciones con el dr.
                '//
                '//ahora necesitas el detalle
                Dim drdetails As DataRow()
                drdetails = drp.GetChildRows("Producto_DetalleProducto")

                '//ok, ya tienes el detalle..
                For Each d As DataRow In drdetails
                    '//haces operaciones aqui con d
                Next
            Next
Espero te sirva..
saludos
  #7 (permalink)  
Antiguo 08/01/2007, 09:19
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 20 años, 6 meses
Puntos: 6
Re: Join con 2 tablas de bases de datos diferentes

Fijate que se me hace raro que tengas que usar tablas en bases de datos diferentes y sistemas diferentes.. me quedo la duda.. estas haciendo una exportacion de datos?? o para que haces eso??
  #8 (permalink)  
Antiguo 08/01/2007, 09:23
Avatar de Korku  
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 21 años
Puntos: 5
Re: Join con 2 tablas de bases de datos diferentes

Una exportación de datos lo dudo... puede ir muy lento, más bien una consulta pero así con dos conexiones, puede falla una de las dos (si cae el servidor)
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es
  #9 (permalink)  
Antiguo 09/01/2007, 06:13
 
Fecha de Ingreso: enero-2007
Mensajes: 5
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Join con 2 tablas de bases de datos diferentes

Os cuento porq tengo q hacerlo, hay veces q llegas a un cliente y resulta q es tan chapuzas q no usa una base de datos para su negocio, ni 2, ni 3, en este caso hay hasta 6, en algunos casos relacionadas. La mayor parte del trabajo se hace mediante rutinas cobol pero de vez en cuando hay q tirar directamente sobre ellas y te encuentras a veces con estos marrones.

Cosas de la vida y de los irresponsables de los administradores,
  #10 (permalink)  
Antiguo 16/03/2009, 12:33
 
Fecha de Ingreso: noviembre-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Respuesta: Join con 2 tablas de bases de datos diferentes

Hola mi consuta es algo parecida a la del amigo "Joderjulito" lo que necesito hacer y todavia no encuentro solucion es: ingresar a un servidor A Con una Base de Datos A con N tablas, generar una consulta que me devuelve un conjunto de registros, pero con esos registros generar una tabla B en la base de datos B del servidor B a manera de tabla de trabajo o temporal.... mas o menos como hacer esto: create table A.pepito(select .id,nombre,producto from B.tabla1,B.tabla2,B.tablan where idtabla1=idtabla2 etc etc... ); lo ideal seria hacerlo con codigo lo que estoy usando es C# pero si me ayudan con cualquier lenguaje igual seria de mucha ayuda... gracias..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:14.