【发布时间】:2016-09-16 02:53:04
【问题描述】:
我有一个已部署在服务器上的 ssis 2012 软件包。现在我正在创建另一个 ssis 包,它将通过执行包任务调用该部署的包。有人可以告诉我如何实现这一目标。 ?
我尝试做以下事情 -
试图找到部署的路径,以便我可以在执行包任务中使用该路径。但我找不到部署包的路径。我的目标可以这样实现吗?
尝试使用执行 sql 任务而不是执行包任务,但这不起作用。
【问题讨论】:
标签: ssis
我有一个已部署在服务器上的 ssis 2012 软件包。现在我正在创建另一个 ssis 包,它将通过执行包任务调用该部署的包。有人可以告诉我如何实现这一目标。 ?
我尝试做以下事情 -
试图找到部署的路径,以便我可以在执行包任务中使用该路径。但我找不到部署包的路径。我的目标可以这样实现吗?
尝试使用执行 sql 任务而不是执行包任务,但这不起作用。
【问题讨论】:
标签: ssis
为项目中的子包选择Project Reference。对于位于包外的子包,请选择 External Reference。
如果包含包的项目尚未转换为项目部署模型,则设置为External Reference。
https://msdn.microsoft.com/en-us/library/hh479606.aspx
如果您正在尝试访问已经部署在SSISDB Catalog 到Execute 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
【讨论】: