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

Select Involucra 2 Bases de Datos

Estas en el tema de Select Involucra 2 Bases de Datos en el foro de SQL Server en Foros del Web. Hola Necesito hacer un Query, en SQL pero que me permita tambirn acceder a una tabla en Oracle, Por ejemplo: Código: Select Nombre From TablaSQL ...
  #1 (permalink)  
Antiguo 11/12/2006, 16:51
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
Select Involucra 2 Bases de Datos

Hola

Necesito hacer un Query, en SQL pero que me permita tambirn acceder a una tabla en Oracle, Por ejemplo:

Código:
Select Nombre
From TablaSQL
Where ( Not In(Select Nombres From TablaOracle))
Como ven, el query interno apunta a una tabla de Oracle, se ke es posible, pero komo?? Gracias.
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]
  #2 (permalink)  
Antiguo 11/12/2006, 17:33
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 5 meses
Puntos: 8
Re: Select Involucra 2 Bases de Datos

Que tal Fan.

Lo primero que tienes que hacer es vincularte a la base de datos de ORAcle, de la siguiente manera ( la tercer instrucción es para eliminar la vinculación ):
Código:
/*
 * Vinculación a servidor de Oracle 
 */

USE master
GO
-- Agregar el servidor
EXEC sp_addlinkedserver
   @server = 'NOMBRESERVIDOR',
   @srvproduct = 'Oracle',
   @provider = 'MSDAORA',
   @datasrc = 'NOMBREBASEDATOS'
GO

-- Agregar el usuario
EXEC sp_addlinkedsrvlogin 'NOMBRESERVIDOR', 'false', NULL, 'elUsuarioBDOracle', 'elPasswordBDOracle'


-- Eliminar el servidor y Login de registro.
-- sp_dropserver 'NOMBRESERVIDOR', 'droplogins'
El usuario que ejecuta las intrucciones debe tener privilegios de ejecutar las instrucciones sp_addlinkedserver y sp_addlinkedsrvlogin, de la bd's Master.

Y ahora ya puedes ejecutar instrucciones del tipo:

Código:
Select Nombre
From TablaSQL 
Where ( 
        Not In  (
           Select Nombres From NOMBRESERVIDOR..NOMBREBASEDATOS.TablaOracle))
Consulta los libros en línea de SQL Server. Hay suficiente información acerca de sp_addlinkedserver.

Saludos y suerte!.

Última edición por daniel00; 11/12/2006 a las 17:35 Razón: Completar info.
  #3 (permalink)  
Antiguo 11/12/2006, 17:43
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
Re: Select Involucra 2 Bases de Datos

Muchisiisisisisismas Gracias!!!!!!
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]
  #4 (permalink)  
Antiguo 13/12/2006, 16:54
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: Select Involucra 2 Bases de Datos

Pero por experiencia propia te puedo decir que un Linked Server usando el controlador OLEDB de Microsoft va más lento que un caracol reumático.

En mi caso preferí bajar las tablas localmente (con un DTS usando el controlador OLEDB de Oracle) de manera diaria. Esto porque el controlador OLEDB de Oracle no funciona dentro de un Linked Server.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #5 (permalink)  
Antiguo 13/12/2006, 17:05
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
Re: Select Involucra 2 Bases de Datos

Cita:
Iniciado por Mithrandir Ver Mensaje
Pero por experiencia propia te puedo decir que un Linked Server usando el controlador OLEDB de Microsoft va más lento que un caracol reumático.

En mi caso preferí bajar las tablas localmente (con un DTS usando el controlador OLEDB de Oracle) de manera diaria. Esto porque el controlador OLEDB de Oracle no funciona dentro de un Linked Server.
Bueno eso, es ke mi sistema trabaja principalemente en SQL Server. Y solo quiero hacer la consulta que puse en el ejemplo por que necesito saber si otra tabla en Oracle a cambiado, ya que solo tengo acceso de solo lectura a esas tablas.

Gracias
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]
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 12:19.