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

ejecutar query que lee tablas de Oracle desde SQL Server

Estas en el tema de ejecutar query que lee tablas de Oracle desde SQL Server en el foro de SQL Server en Foros del Web. El siguiente query -- SELECT 'Clinicas Red', A.CAPS_CD_PROVEEDOR, A.CAPS_NM_PROVEEDOR, CAPH_CATEGORIA, CAPH_FE_EFECTIVA FROM ORACLE..CARTERA.CART_PROVEEDORES_SERVICIOS A, ORACLE..CARTERA.CARH_CONV_PROVEEDOR_SERVICIOS WHERE A.CAPS_CATP_TP_PROVEEDOR = 1 AND A.CAPS_CATP_TP_PROVEEDOR = CAPH_CATP_TP_PROVEEDOR AND A.CAPS_CD_PROVEEDOR ...
  #1 (permalink)  
Antiguo 02/03/2007, 13:47
 
Fecha de Ingreso: marzo-2007
Mensajes: 1
Antigüedad: 17 años, 2 meses
Puntos: 0
ejecutar query que lee tablas de Oracle desde SQL Server

El siguiente query --
SELECT 'Clinicas Red',
A.CAPS_CD_PROVEEDOR,
A.CAPS_NM_PROVEEDOR,
CAPH_CATEGORIA, CAPH_FE_EFECTIVA
FROM ORACLE..CARTERA.CART_PROVEEDORES_SERVICIOS A,
ORACLE..CARTERA.CARH_CONV_PROVEEDOR_SERVICIOS
WHERE A.CAPS_CATP_TP_PROVEEDOR = 1
AND A.CAPS_CATP_TP_PROVEEDOR = CAPH_CATP_TP_PROVEEDOR
AND A.CAPS_CD_PROVEEDOR = CAPH_CD_PROVEEDOR
AND CAPH_IN_PROVEEDOR = 'A'
AND CAPH_FE_EFECTIVA in (SELECT MAX(B.CAPH_FE_EFECTIVA)
FROM ORACLE..CARTERA.CARH_CONV_PROVEEDOR_SERVICIOS B
WHERE B.CAPH_CATP_TP_PROVEEDOR = 1
/*****AND A.CAPS_CATP_TP_PROVEEDOR = B.CAPH_CATP_TP_PROVEEDOR
AND A.CAPS_CD_PROVEEDOR = B.CAPH_CD_PROVEEDOR****/)
ORDER BY A.CAPS_CD_PROVEEDOR


lo que esta entre /***** da error cuando se ejecuta desde SQL server, esto es un simple subquery -- la version de Oracle es 9 y la de SQL es 2000, el servidor tiene windows server 2003.

el query se ejecuta en SQL Query Analyzer

los datos son del mismo tipo y tamaño, si alguien puede decir por que cree que no corre sería de mucha ayuda.

Gracias
  #2 (permalink)  
Antiguo 02/03/2007, 16:16
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 6 meses
Puntos: 8
Re: ejecutar query que lee tablas de Oracle desde SQL Server

Que tal SQL Server.

No nos dices que error te marca.

Saludos.
  #3 (permalink)  
Antiguo 05/03/2007, 10:56
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: ejecutar query que lee tablas de Oracle desde SQL Server

Parece que la referencia a objetos entre dentro y fuera del subquery es lo que da el problema (El alieas A existe fuera del subquery, no dentro).

No sé si Oracle soporta esa sintaxis, pero por lo menos es evidente que el controlador OLEDB no lo hace.

El güorkaraund es usar JOINs ya sea INNER JOIN u OUTER JOIN.
__________________
"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 06:14.