Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQLServer2005中的SSIS_Sql Server_Sql Server 2005_Ssis - Fatal编程技术网

Sql server SQLServer2005中的SSIS

Sql server SQLServer2005中的SSIS,sql-server,sql-server-2005,ssis,Sql Server,Sql Server 2005,Ssis,我创建了一个SSIS包,在其中我调用了两个sp,每个sp都有一个参数。因此,如何在存储过程中调用此包,方法是将值作为参数动态传递给该包和存储过程。最好创建一个作业,然后从过程中开始。否则,您需要使用XPyCMDS壳启动SSIS包,其中许多人认为使用不安全(安全风险)。 EXEC msdb.dbo.sp_start_job N'YourJobNameHere' 尝试查看哪些方法涵盖了以下所有方法: 使用SSIS对象模型以编程方式运行包 启动DTEXEC.EXE进程。DTEXEC是用于执行SSIS

我创建了一个SSIS包,在其中我调用了两个sp,每个sp都有一个参数。因此,如何在存储过程中调用此包,方法是将值作为参数动态传递给该包和存储过程。

最好创建一个作业,然后从过程中开始。否则,您需要使用XPyCMDS壳启动SSIS包,其中许多人认为使用不安全(安全风险)。 EXEC msdb.dbo.sp_start_job N'YourJobNameHere'

尝试查看哪些方法涵盖了以下所有方法:

  • 使用SSIS对象模型以编程方式运行包
  • 启动DTEXEC.EXE进程。DTEXEC是用于执行SSIS包的命令行实用程序
  • 使用SQL代理。您可以配置代理作业以运行包
  • 使用其他实用程序为您启动DTEXEC
  • 创建将运行包的自定义应用程序
根据OP的说法编辑,他们不能将值传递到作业中


如果您不会让多人同时尝试运行此包,则可以将您的值插入一个特殊的表中,存储过程(在您的包中)可以选择并使用该表。如果有多个人试图同时运行包,则可以创建一个队列表,作业从该队列表中提取所需的参数,然后运行包,完成后提取下一组参数,等等。

可能是,您可以在命令行模式下使用DTExec.exe实用程序运行包。检查

Ex:-
/SET
\package\DataFlowTask.Variables[User::MyVariable]。值;新值


另请检查此项

是您的问题“如何通过将值作为参数动态传递给包来调用包内的此存储过程”我认为DTExec.exe是SQL Server 2008only@Faiz是的,是的。我在我的本地2005在线图书中找不到,但你的链接显示它是在2005年,然后我注意到我在过滤我的本地BOL搜索,当我改变我可以找到它的时候。