Compartir a través de


Realizar una carga incremental de varias tablas

En el tema Mejorar las cargas incrementales con la captura de datos modificados, el diagrama muestra un paquete básico que realiza una carga incremental en una sola tabla. Sin embargo, cargar una tabla no es una acción tan común como realizar una carga incremental de varias tablas.

Cuando se realiza una carga incremental de varias tablas, algunos pasos se tienen que realizar una vez para todas las tablas y otros se tienen que repetir para cada tabla de origen. Tiene varias opciones para implementar estos pasos en Integration Services:

  • Utilizar un paquete primario y varios paquetes secundarios.

  • Utilizar varias tareas Flujo de datos en un único paquete.

[!NOTA]

Para ver ejemplos completos de extremo a extremo que muestren el uso de la captura de datos modificados en paquetes, vea el ejemplo Captura de datos modificados para el paquete de intervalo especificado y el ejemplo Captura de datos modificados desde el paquete de la última solicitud en Codeplex.

Cargar varias tablas mediante un paquete primario y varios paquetes secundarios

Puede usar un paquete primario para realizar aquellos pasos que sólo deben seguirse una vez. Los paquetes secundarios realizarán los pasos que se deben efectuar para cada tabla de origen.

Para crear un paquete primario que realice los pasos que sólo se deben efectuar una vez

  1. Cree un paquete primario.

  2. En el flujo de control, utilice una tarea Ejecutar SQL o expresiones de Integration Services para calcular los extremos.

    Para obtener un ejemplo sobre cómo calcular extremos, vea Especificar un intervalo de datos modificados.

  3. Si es necesario, utilice un contenedor de bucles For para retrasar la ejecución hasta que los datos modificados para el período seleccionado estén listos.

    Para obtener un ejemplo de este tipo de contenedor de bucles For, vea Determinar si los datos modificados están preparados.

  4. Utilice varias tareas Ejecutar paquete para ejecutar los paquetes secundarios para cada tabla que se va a cargar. Pase los extremos calculados en el paquete primario a cada paquete secundario mediante configuraciones de variable de paquete primario.

    Para obtener más información, vea Tarea Ejecutar paquete y Cómo usar los valores de variables primarias en un paquete secundario.

Para crear paquetes secundarios que realicen los pasos que se deben efectuar para cada tabla de origen

  1. Cree un paquete secundario para cada tabla de origen.

  2. En el flujo de control, utilice una tarea Script o una tarea Ejecutar SQL para ensamblar la instrucción SQL que se usará para consultar los cambios.

    Para obtener un ejemplo sobre cómo ensamblar la consulta, vea Preparación para consultar datos modificados.

  3. Utilice una única tarea Flujo de datos en cada paquete secundario para cargar los datos modificados y aplicarlos en el destino. Configure el flujo de datos como se describe en los pasos siguientes:

    1. En el flujo de datos, utilice un componente de origen para consultar en las tablas de cambios los cambios comprendidos entre los extremos seleccionados.

      Para obtener un ejemplo cómo consultar las tablas de cambios, vea Recuperación y descripción de datos de cambios.

    2. Use la transformación División condicional para dirigir las inserciones, las actualizaciones y las eliminaciones a salidas diferentes para procesarlas apropiadamente.

      Para obtener un ejemplo sobre cómo configurar esta transformación con objeto de dirigir la salida, vea Procesar inserciones, actualizaciones y eliminaciones.

    3. Use un componente de destino para aplicar las inserciones en el destino. Use transformaciones Comando de OLE DB con instrucciones UPDATE y DELETE con parámetros para aplicar las actualizaciones y las eliminaciones en el destino.

      Para obtener un ejemplo sobre cómo usar esta transformación con el fin de aplicar actualizaciones y eliminaciones, vea Aplicar los cambios en el destino.

Cargar varias tablas mediante varias tareas Flujo de datos en un único paquete

También puede utilizar un único paquete que contenga una tarea Flujo de datos independiente para cada tabla de origen que se va a cargar.

Para cargar varias tablas mediante varias tareas Flujo de datos en un único paquete

  1. Cree un único paquete.

  2. En el flujo de control, utilice una tarea Ejecutar SQL o expresiones de Integration Services para calcular los extremos.

    Para obtener un ejemplo sobre cómo calcular extremos, vea Especificar un intervalo de datos modificados.

  3. Si es necesario, utilice un contenedor de bucles For para retrasar la ejecución hasta que estén listos los datos modificados para el intervalo seleccionado.

    Para obtener un ejemplo de este tipo de contenedor de bucles For, vea Determinar si los datos modificados están preparados.

  4. Use una tarea Script o Ejecutar SQL para ensamblar la instrucción SQL que se usará para consultar si hay cambios.

    Para obtener un ejemplo sobre cómo ensamblar la consulta, vea Preparación para consultar datos modificados.

  5. Utilice varias tareas Flujo de datos para cargar los datos modificados de cada tabla de origen y aplicarlos en el destino. Configure cada tarea Flujo de datos tal y como se describe en los pasos siguientes.

    1. En cada flujo de datos, utilice un componente de origen para consultar en las tablas de cambios los cambios comprendidos entre los extremos seleccionados.

      Para obtener un ejemplo cómo consultar las tablas de cambios, vea Recuperación y descripción de datos de cambios.

    2. Use la transformación División condicional para dirigir las inserciones, las actualizaciones y las eliminaciones a salidas diferentes para procesarlas apropiadamente.

      Para obtener un ejemplo sobre cómo configurar esta transformación con objeto de dirigir la salida, vea Procesar inserciones, actualizaciones y eliminaciones.

    3. Use un componente de destino para aplicar las inserciones en el destino. Use transformaciones Comando de OLE DB con instrucciones UPDATE y DELETE con parámetros para aplicar las actualizaciones y las eliminaciones en el destino.

      Para obtener un ejemplo sobre cómo usar esta transformación con el fin de aplicar actualizaciones y eliminaciones, vea Aplicar los cambios en el destino.

Icono de Integration Services (pequeño) Manténgase al día con Integration Services

Para obtener las descargas, los artículos, los ejemplos y los vídeos más recientes de Microsoft, así como soluciones seleccionadas de la comunidad, visite la página de Integration Services en MSDN o TechNet:

Para recibir notificaciones automáticas de estas actualizaciones, suscríbase a las fuentes RSS disponibles en la página.