我有一个已部署在服务器上的ssis 2012软件包。现在我正在创建另一个ssis包,它将通过执行包任务调用该已部署的包。有人能告诉我如何实现这一目标。 ?
我尝试做以下事情 -
试图找到已部署的路径,以便我可以在执行包任务中使用该路径。但我找不到部署包的路径。我的目标能否以这种方式实现。
尝试使用执行sql任务而不是执行包任务,但这不起作用。
答案 0 :(得分:1)
为项目中的子包选择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...
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