Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

enlazar dos bases de datos

Estas en el tema de enlazar dos bases de datos en el foro de Bases de Datos General en Foros del Web. Saludos a todos/as Tengo una duda respecto sql server, imagino que para otras bases de datos es lo mismo. ¿Como puedo enlazar dos bases de ...
  #1 (permalink)  
Antiguo 24/05/2005, 03:25
 
Fecha de Ingreso: enero-2004
Ubicación: Granada
Mensajes: 185
Antigüedad: 20 años, 10 meses
Puntos: 0
enlazar dos bases de datos

Saludos a todos/as

Tengo una duda respecto sql server, imagino que para otras bases de datos es lo mismo.

¿Como puedo enlazar dos bases de datos x e y para realizar una consulta relacionando una tabla de cada base?
Hacer una consulta que conecte dos tablas una en la base x y la otra en la base y
  #2 (permalink)  
Antiguo 24/05/2005, 14:44
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 7 meses
Puntos: 25
SELECT *
FROM base1.dbo.tabla t1
INNER JOIN base2.dbo.otratabla t2
ON t1.llave = t2.llave

El usuario debe tener permisos sobre los objetos de ambas bases de datos.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 25/05/2005, 01:47
 
Fecha de Ingreso: enero-2004
Ubicación: Granada
Mensajes: 185
Antigüedad: 20 años, 10 meses
Puntos: 0
Supongo que las conexiónes tanto a la base1 como a la base2 son independientes no se pueden hacer consjuntas, o me equivoco.

con1 "Driver={SQL Server};Server=;Database=base1;Uid=;Pwd=;"

con2 "Driver={SQL Server};Server=;Database=base2;Uid=;Pwd=;"

y luego la consulta:

SELECT *
FROM base1.dbo.tabla t1
INNER JOIN base2.dbo.otratabla t2
ON t1.llave = t2.llave

sobre que conexión se hace
  #4 (permalink)  
Antiguo 25/05/2005, 14:50
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 7 meses
Puntos: 25
No necesitas hacer conexiones, la misma conexion se hace cargo de acceder a la otra DB.

Si tu conexion tiene a "base1" seleccionada como Initial Catalog entonces puedes hacer algo como:
Código:
SELECT *
FROM dbo.tabla t1 --base1 no es necesario por que YA estas ahi
INNER JOIN base2.dbo.otratabla t2
ON t1.llave = t2.llave
Y tu conexión original se encarga de meterse a la DB "base2", por que eso se hace a nivel de SQL y no de aplicacion/conexion (VB, ASP o lo que estés haciendo)
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 23:00.