none
ETL de una tabla a varias RRS feed

  • Pregunta

  • Hola,

     

    Soy nuevo en SSIS y me estoy volviendo loco para intentar hacer un ETL básico.

    Necesito:

    1. Recuperar de una base de datos un conjunto de datos (Lo hago en una tarea de flujo de datos) 
    2. insertar en una nueva tabla de  otra base de datos, dónde genera un ID identity.
    3. Recuperar ese ID para la fila en cuestión y en base al valor de una columna insertar en una u otra tabla relacionada con la del paso 2.
    4. Quiero que al insertar en 2, si existe una fila igual, no se produzca error, pero si que se haga el paso 3 con el ID indicado, es decir, antes de insertar en 2 necesito ver si existe un dato.

    Me estoy volviendo loco, veo que con ejecutar un Procedimiento Almacenado podría ser suficiente para la entrada del conjunto de datos, pero no encuentro como hacerlo. 

    He intentado recuperar el conjunto de datos, salvarlo en un destino recordset y fuera del flujo de datos, ya en el flujo de control con un for each sobre el mismo intentar realizar la acción, pero me pierdo.

    Creo que tengo algún problema de concepto.  No se si se pudiera ejecutar un for each dentro de la tarea de flujo de datos.

    Estoy bastante perdido y necesito hacer algo pronto por lo que agradecería cualquier pista.

    Gracias.


    Regards, Pablo Martín Gutierrez.
    martes, 10 de enero de 2012 9:18

Respuestas

  • Ejecutar un procedimiento almacenado puetes hacerlo con la tarea ejecutar SQL.

    Si te sientes más cómodo con T-SQL hay tareas en SSIS que puedes incorporar.

    Hay varias formas de ver si el dato existe o no. Por ejemplo el lookup o directamente puedes usar sentencias SQL con left joins.

     


    MVP MCT MCTS Daniel Calbimonte

    http://elpaladintecnologico.blogspot.com
    • Marcado como respuesta Blonix miércoles, 11 de enero de 2012 7:45
    martes, 10 de enero de 2012 17:23