by 易水寒
20. July 2009 16:23
在以前的开发过程中,我们有时候会在ASP.NET页面中调用DTS,以手动触发DTS运行。如果想让DTS运行在Web 服务器上,那么你必须在这台服务器上按照DTS运行环境。DTS运行环境是可以客户端分发的,你只需要将服务器上安装的相关文件拷贝到客户端就可以了。SQL Server 2005后,DTS升级为SSIS,那么怎么在运行ASP.NET的Web服务器上调用SSIS包呢?也许大家觉得跟DTS一样,只需要将安装SSIS的数据库服务器上相关的文件拷贝到Web服务器上就可以了,其实是不行了。SSIS是不可客户端再分发的,它有许可方面的限制。
要想使用ASP.NET调用SSIS包,可以使用下面几种方法:
- 在数据库服务器上启动Agent服务,新建Job去调用SSIS包,ASP.NET使用存储过程去调用Job。Web服务器上不需要安装 SSIS.
- 在数据库上创建一个web service, web service用来管理调用包,ASP.NET服务器再调用web service。Web服务器上不需要安装 SSIS.
- 在Web服务器上安装SSIS, 然后使用后台代码调用SSIS包,这种方式调用十分灵活。
- 也可以使用DTExec命令行工具去执行SSIS包。
不管使用什么方式,要记住一点的是,运行SSIS包的代码的机子上一定得安装SSIS服务才行,因为SSIS是服务端组件。这点对我们部署十分重要。具体的使用方式请参照MSDN.