如何解决使用对 SQL Server 的外部引用执行包任务
我正在尝试执行之前已部署到 sql Server 实例的 SSIS 包。此 sql Server 实例的版本为 14.0.3281 (sql Server 2017)。
我不能使用项目引用,因为想要的包在另一个项目中,我不想将它上传到服务器的文件系统。
真的是版本问题吗? 如何从另一个项目执行已部署的包?
我知道我可以使用 T-sql 使用此包运行作业,但我希望任务仅在此包成功完成执行后才能继续。
这是我得到的错误:
------------------------------ 附加信息:
解决方法
有一种方法可以通过 T-SQL 运行包并使用内置过程等待它完成。
-- Create the execution object
DECLARE @execution_id BIGINT
EXEC [SSISDB].[catalog].[create_execution]
@package_name = @PackageName,@project_name = @ProjectName,@folder_name = @FolderName,@use32bitruntime = False,@reference_id = NULL,@execution_id = @execution_id OUTPUT
-- Configure execution
EXEC [SSISDB].[catalog].[set_execution_parameter_value]
@execution_id,@object_type = 50 -- System parameter,@parameter_name = N'SYNCHRONIZED',@parameter_value = 1 -- set this to 1 to wait for completion
-- Start the execution
EXEC [SSISDB].[catalog].[start_execution] @execution_id
您可以将其包装到一个像“startPackage”这样的存储过程中,并且还包括使用执行 ID 检查结果:
-- Check package status,and fail script if the package failed
IF 7 <> (SELECT [status] FROM [SSISDB].[catalog].[executions] WHERE execution_id = @execution_id) AND @Syncronized = 1
RAISERROR('The package failed!',16,1)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。