是否可以将@inputfile、@packagepath 等参数发送到将运行我的 SSIS 的我的 sql 作业?
目前,我正在作业属性本身中配置我的路径、包名称以运行它。
我知道一种方法是定义一个命令
@command = exec my_stored_procedure @parameter1 , @parameters2
并将其包含在工作中。
但是我不能直接从工作中调用存储过程吗?
创建一个主包,它调用您要执行的所有 10 个 SSIS 包。如果所有包都在同一个项目中,请使用Project Reference
. 如果包不在同一个项目中(或者如您所说的不同路径),请使用external reference
type 来调用它们。
如果您想动态调用所有包而不考虑名称。创建一个for each loop enumerator
并调用execute package task
. 在执行包中动态传递来自SSISDB
.
打电话给master package
你SQL Server agent Job
,你就完成了。
您可以让上面的 Master 包从表中读取参数值并使用“执行 SQL”任务将它们加载到 SSIS 变量中。
然后,您可以在运行包之前使用 SPROC 填充表,如果这是您需要它运行的方式吗?
真的有点黑客攻击:-)