miércoles, 22 de febrero de 2017

SSIS Running ETL from stored procedured

CREATE Procedure [ETL].[uspExecute_SSIS_Package_ActivosLiquidos]

  @Anio nvarchar(4),

  @Mes nvarchar(2),

  @Ruta varchar(250),

  @ETLID BIGINT OUTPUT

AS
  SET NOCOUNT ON;

  DECLARE

     @AnioParam sql_variant = cast(@Anio as sql_variant),

     @MesParam sql_variant = cast(@Mes as sql_variant),

     @RutaParam sql_variant = cast(@Ruta as sql_variant),

     @IdReporteParam sql_variant = 'D3A6EED2-D3C7-4212-905B-963FC5AA8E82';

  PRINT 'Parámetros convertidos a sql variant'
    --Paso 1: Configurar datos del ETL
  DECLARE @RutaFolder nvarchar(50) = N'SHF',

      @RutaProyecto nvarchar(50) = N'INSTRUMENTOS FINANCIEROS',

      @NombrePaquete varchar(50) = N'SSIS_ActivosLiquidos.dtsx';



  EXEC [SSISDB].[catalog].[create_execution] @package_name=@NombrePaquete,

                 @execution_id=@ETLID OUTPUT,

                 @folder_name=@RutaFolder,

                 @project_name=@RutaProyecto,

                 @use32bitruntime=FALSE;

  PRINT 'Paso 2: Configurar parámetros para el ETL Año'

  EXEC [SSISDB].[catalog].[set_execution_parameter_value] @ETLID, 30, N'Anio', @AnioParam;

  PRINT 'Paso 2: Configurar parámetros para el ETL Mes'

  EXEC [SSISDB].[catalog].[set_execution_parameter_value] @ETLID, 30, N'Mes', @MesParam;

  PRINT 'Paso 2: Configurar parámetros para el ETL Ruta'
  EXEC [SSISDB].[catalog].[set_execution_parameter_value] @ETLID, 30, N'Ruta', @RutaParam;
  
PRINT 'Ejecutando el Paquete'

  EXEC [SSISDB].[catalog].[start_execution] @ETLID