从.NET部署和调用SSIS包

时间:2010-05-20 21:04:21

标签: sql-server ssis

我有一个我计划在SQL Server 2008计算机上部署的SSIS包。

我需要从.NET远程和同步调用此SSIS包。显然我也需要将参数传递给这个包。

我怎么能这样做?

谢谢, 亚历

3 个答案:

答案 0 :(得分:3)

您可以创建一个作业,然后使用sp_start_job从直接SQL启动作业。这将是异步的。

在服务器上运行时,它需要能够访问您可能正在读取或写出的任何文件(它还需要包含 - 所以如果您是从模板或其他代码生成包的代码,将它放到服务器上可能是个问题。)

您还可以使用psexec在任何远程服务器上运行进程。在这种情况下,它将运行dtexec。这将不得不启用xp_cmdshell。 (需要查看包并查看任何文件的相同问题)

答案 1 :(得分:0)

如果您的SQL服务器处于安全环境中您可以尝试从Stred Procedure运行使SSIS包可运行,那么我认为您的代码可以轻松地在SQL服务器上调用存储过程。

考虑到你必须启用xp_cmdshell(至少就我所知的SQL2005而言),根据服务器安全性,它总是被称为危险任务。

答案 2 :(得分:0)

另一种方法是编写简单的应用程序,公开允许执行包的Web服务 - SQL Books Online有一个很好的样本。