【问题标题】:how to call a deployed ssis 2012 package from execute package task from another ssis package如何从另一个 ssis 包的执行包任务中调用已部署的 ssis 2012 包
【发布时间】:2016-09-16 02:53:04
【问题描述】:

我有一个已部署在服务器上的 ssis 2012 软件包。现在我正在创建另一个 ssis 包,它将通过执行包任务调用该部署的包。有人可以告诉我如何实现这一目标。 ?

我尝试做以下事情 -

  1. 试图找到部署的路径,以便我可以在执行包任务中使用该路径。但我找不到部署包的路径。我的目标可以这样实现吗?

  2. 尝试使用执行 sql 任务而不是执行包任务,但这不起作用。

【问题讨论】:

    标签: ssis


    【解决方案1】:

    为项目中的子包选择Project Reference。对于位于包外的子包,请选择 External Reference

    如果包含包的项目尚未转换为项目部署模型,则设置为External Reference

    https://msdn.microsoft.com/en-us/library/hh479606.aspx

    如果您正在尝试访问已经部署在SSISDB CatalogExecute Package Task 中的包,那么您必须下载该项目并将您的父包包含到该项目中。最后,您需要将父包部署到同一个 SSISDB 目录(您无法通过 Execute Package task 访问不同项目的包)。

    通过执行 SQL 任务执行包: 您可以通过 Right cLick on package>Execute>Script to... 编写 SSISDB 部署包的 TSQL 代码

    EXEC [SSISDB].[catalog].[create_execution] 
            @folder_name = N'Folder',
            @project_name = N'Test',
            @package_name = N'Package.dtsx',
            @reference_id = NULL,
            @use32bitruntime = FALSE,     
            @execution_id = @executionID OUTPUT
    
        EXEC [SSISDB].[catalog].[set_execution_parameter_value] 
        @executionID,
        @object_type = 20, 
        @parameter_name = N'Var1', 
        @parameter_value = @Var1
    
        EXEC [SSISDB].[catalog].[set_execution_parameter_value] 
        @executionID,
        @object_type = 20, 
        @parameter_name = N'Var2', 
        @parameter_value = @Var2
    
        EXEC [SSISDB].[catalog].[start_execution] @executionID
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多