Problema sql-server

Problema: Tengo que importar datos de una tabla en una base de datos Oracle a una tabla de SQL-SERVER y tengo que filtrar esos datos respecto de un campo de otra tabla que esta en SQL-SERVER. Me explico: Solo tengo que importar las filas de la tabla de Oracle que son posteriores a una fecha concreta. Esta fecha esta en otra tabla de SQL-SERVER.
¿Alguna sugerencia para mi problemilla?
1

1 respuesta

Respuesta
1
Impórtalo todo a tablas temporales de sql, y luego haz una query que una los campos con join, uniendo las tablas de oracle con la de las fechas. Haz un select sobre el resultado donde saques solo lo que necesites.
select a,b,c,d from
(
select x1 as a,x2 as b,y1 as c,y2 as d
from tablax
join tablay
on tablax.x1=tablay.y2 /* condiciones del join */
where tabla1.x1>'10/10/2000'
) as tabla
where .......
Gracias por responder.
Te cuento. Actualmente lo tengo hecho de la forma que tu me has dicho. El problema es que la tabla en Oracle es gigantesca (hablo de varios gigas). Para hacer pruebas de momento estaba usando una pequeña parte de esta tabla. Con esta pequeña parte de la tabla si era viable esta solución que tu me propones y que ya te digo que es la que yo he usado. El problema comienza ahora, cuando ya tengo todo hecho y tengo que coger los datos de la tabla real. La solución de traer todos los datos de oracle es totalmente inviable por problemas de tiempo (tardaría demasiado). Otro problema es que la base de datos Oracle pertenece a otra empresa y solo puedo consultarla pero no puedo modificarla ni crear nada en ella. Con lo cual intentar pasar la fecha (que en realidad es el único dato que necesito para hacer el filtrado de datos) a una tabla temporal en oracle es totalmente imposible también.
Alguna otra idea
Gracias
En ese caso se me ocurre que debieras utilizar una aplicación externa que tenga acceso a ambas bases de datos (si eso es posible por la organización de redes y servidores) y que haga una serie de consultas de datos en la tabla oracle, basándose en el contenido de la tabla sql de fechas, y luego inserte en la tabla sql la selección de datos que te interesa.
Otra posibilidad seria que exportaras a una temporal de Oracle una selección de lo que necesitas, Es decir, solo los campos clave como la fecha y los ID. Del registro(Código, empresa.. etc).. una vez tengas esto, puedes (con el DTS de Sql server) importar a partir de una query en la que las compares para extraer solo lo que quieres
Una cosilla más.
ADO parece que es ideal para hacer consultas a sql-server desde una aplicación externa. ¿Pero tendría algún problema para hacer consultas a la base de datos de Oracle si uso ADO?
Gracias
Yo no he utilizado nunca ADO contra oracle.. la verdad es que Oracle lo he tocado muy poco, estoy más centrado en SQL Server, pero ningún compañero me ha comentado nunca que diese problemas.. de todos modos hay otras opciones si te va mal (los controles DBExpress de Delphi 6 van muy bien con Oracle).. en el ultimo de los casos... siempre puedes (delphi) usar el BDE

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas