Principales respuestas
DTSX que vuelque datos desde una fecha de referencia

Pregunta
-
Hola a todos, soy bastante nuevo con SSIS. La verdad tengo un problema que no se me ocurre como pidria resolver, les cuento:
Tengo una base de dato A (MSSQL) y una B (Oracle), el paquete extrae datos desde B hacia A. El inconveniente que tengo es que los datos provenientes de B depende de la ultima fecha de importacion de datos, que se encuentra almacenada en A.
Es decir, el algorimo basico de mi proceso ETL seria:
1.- Obtener la ultima fecha de transferencia de datos (en A)
2.- Seleccionar todos los datos de B, que su fecha sea mayor o igual a la fecha capturada en (1)
3.- Copiar los datos de (2) en B.
Como lo podria hacer esto?
- Editado Alberto López Grande (qwalgrande)Moderator jueves, 2 de diciembre de 2010 21:45 Titulo
Respuestas
-
Hola.
Tomas un paso de SQL Task. Escribes la consulta, cadena conexión y demás. En la propiedad "ResultSet" pones "Single Row" y en la pestaña "Result Set" añades las variables en las que se almacenarán los resultados de la consulta.
Alberto López Grande
SQL Server MVP
Visita mi blog en http://qwalgrande.blogspot.es/- Marcado como respuesta kerench jueves, 9 de diciembre de 2010 15:03
Todas las respuestas
-
En este caso tu paquete podría tener básicamente dos elementos en el Control Flow: 1 SQL Task, y 1 Data Flow.
En el SQL Task podrías ejecutar el query o StoredProcedure que te devuelva la fecha máxima y el resultado lo escribas en una variable global definida dentro del paquete.
Dentro de tu Data Flow habría un Data Source component que leerá los datos de Oracle. La magia viene aquí. Incluyes tu query original y reemplazas el valor de la fecha por un "placeholder" para tu variable global y luego la mapeas con el parámetro.
Luego todo lo demás sería la lógica normal que necesites para mover los datos de uno a otro lado.
Aquí hay un post similar al respecto: http://sqlfool.com/2009/08/getting-started-with-variables-in-ssis/
Alan Koo Labrin | "Microsoft Business Intelligence y más..." http://www.alankoo.com -
-
Hola.
Tomas un paso de SQL Task. Escribes la consulta, cadena conexión y demás. En la propiedad "ResultSet" pones "Single Row" y en la pestaña "Result Set" añades las variables en las que se almacenarán los resultados de la consulta.
Alberto López Grande
SQL Server MVP
Visita mi blog en http://qwalgrande.blogspot.es/- Marcado como respuesta kerench jueves, 9 de diciembre de 2010 15:03
-