我需要创建一个 SQL 作业。
Step1:在 TaskToProcess 表中插入一行并返回 ProcessID(PK 和 Identity)
Step2:检索生成的进程 IDstep1并将值传递给 SSIS 包并执行 SSIS 包。
这在 SQL Server JOB 中可能吗?
请帮我解决这个问题
提前致谢。
没有在作业步骤之间传递变量值的内置方法。但是,有一些解决方法。
一种选择是在步骤 1 结束时将值存储在表中,并在步骤 2 中从数据库中查询回来。
听起来你正在生成ProcessID
通过插入到表中并返回SCOPE_IDENTITY()
插入的行的。如果作业步骤 1 是插入此表的唯一进程,您可以使用以下命令从作业 2 中检索最后插入的值:IDENT_CURRENT('<tablename>') http://msdn.microsoft.com/en-us/library/ms175098.aspx功能。
EDIT
如果多个流程可以插入到流程控制表中,那么最好的解决方案可能是将步骤 1 和 2 重构为单个步骤 - 可能使用可以在步骤之间传递变量的控制 SSIS 主包(或其他等效技术)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)