Foros del Web » Programando para Internet » ASP Clásico »

Consulta a dos bases de datos

Estas en el tema de Consulta a dos bases de datos en el foro de ASP Clásico en Foros del Web. Hola, el problema es este: En un mismo servidor tengo dos bases de datos y necesito hacer una consulta que implica a una tabla de ...
  #1 (permalink)  
Antiguo 06/06/2007, 06:11
 
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 353
Antigüedad: 20 años, 5 meses
Puntos: 1
Consulta a dos bases de datos

Hola, el problema es este:

En un mismo servidor tengo dos bases de datos y necesito hacer una consulta que implica a una tabla de cada BD.

La consulta SQL creo que debe de ser algo así:

"SELECT IdCliente, Nombre, Activo, Activo_Internet FROM (conexion1.dbo.Clientes LEFT JOIN Conexion2.dbo.Cliente_Internet ON idClienteTexto = IdCliente) ORDER BY Activo_Internet DESC"

Donde:
IdCliente, Nombre, Activo son de la tabla de la BD 1 y Activo_Internet de la tabla de la BD 2

Conexion1 sería la conexión a la BD 1 y Conexion2 a la BD 2.

El problema lo tengo con las conexiones, no me aclaro en como definirlas y en como enlazarlas con la consulta SQL

He probado con algo así

Set Conexion1 = server.CreateObject("ADOB.Recordset")
Conexion1.ActiveConnection = "DNS1"

Set Conexion2 = server.CreateObject("ADOB.Recordset")
Conexion2.ActiveConnection = "DNS2"


pero no me acabo de aclarar


SOS SOS SOS
__________________
Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo...
  #2 (permalink)  
Antiguo 06/06/2007, 07:10
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 3 meses
Puntos: 7
Re: Consulta a dos bases de datos

No se si eso se podrá hacer. Nunca me he visto en esa tesitura. Sin embargo, si que puedes hacer un repositorio de datos usando Access para linkar tablas de otras BDs y usar Access como motor de los queries.

Es una idea :)


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #3 (permalink)  
Antiguo 06/06/2007, 16:02
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Re: Consulta a dos bases de datos

Bueno, no especificas que motor de base de datos estás empleando, si estás haciéndolo mediante MS SQL hay varios panoramas:


1. Que sendas bases de datos residan en el mismo servidor
2. Que residan en servidores distintos y que sean MS SQL

Para la primera opción solo necesitarás hacer tu conexión con una cuenta con acceso a ambas bases de datos y la forma de hacer queries es

SELECT usuario.tabla.campo FROM basedatos.usuario.tabla a [JOIN]
basedatos.usuario.tabla.campo b ON bla bla bla

En otras palabras, solo tienes que llamar a tus tablas con:
base_de_datos.usuario.tabla

La segunda opción se hace mediante un linked server, la forma en la que armas tu query es la misma solo que llamas al linked_server.base.usuario.tabla


Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #4 (permalink)  
Antiguo 07/06/2007, 12:37
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Re: Consulta a dos bases de datos

Recuerdo un mensaje muy antiguo, en este foro, donde dieron la solución para hacerlo con dos bases de datos access al mismo tiempo.
Lo estuve buscando, pero no logro encontrarlo. Igual me suena que yomesmo está usando sql server.

Saludos
  #5 (permalink)  
Antiguo 08/06/2007, 06:34
 
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 353
Antigüedad: 20 años, 5 meses
Puntos: 1
Re: Consulta a dos bases de datos

u_goldman, tal y como mencionas ese es mi caso, las dos bases de datos residen en la misma máquina, al hacer conexión a una de ellas, poniendo la consulta como dices ha funcionado a la primera, no pensé que era tan sencillo.

Gracias a todos, amigos!!
__________________
Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo...
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 15:44.