从Sql Server 2005执行DTS包

问题描述:

我正试图从一个SQL 2000框中运行几个DTS包。 DTS呼叫将来自.net 2.0 - 3.5代码。我一直无法找到以编程方式实现此目的的好方法。我读过的是从调用DTS包的存储过程运行sql作业。有没有人有这方面的经验或知道调用DTS的好方法?从Sql Server 2005执行DTS包

注意:对于可预见的未来,这些软件包将保持DTS。最终我们会将它们转换为SSIS。

任何洞察力或经验将是非常有益的。

我在工作中处于类似的情况,最后我们用命令行方式使用DTSRun(使用Sql 2005安装)的单步SSIS包“包装”我们的DTS包,以调用DTS打包在文件系统上。如果你这样做,那么这将是一个程序启动一个我不熟悉的SSIS包的问题,​​但它必须尽可能地与2000年的DTS一样。

+0

使用SSIS的问题是运行代码的机器必须运行Sql Agent。目前用户环境没有这个设置。所以理想情况下,因为现在有一个解决方案(vb 6代码),所以我们希望在那里没有额外的开销。 – Doerr 2010-04-16 13:12:52

+0

当然,除非可以从存储过程调用SSIS包? – Doerr 2010-04-16 13:28:53

+0

不容易。你可以在数据库上启用xp_cmdshell,然后调用你想要的任何命令行,但是我建议不要这样做。或者使用Sql Agent,并使用Sql Management Objects(SMO)等远程连接服务器,并以编程方式启动工作,接受'开销'。选择你的毒药。 – ray2k 2010-04-16 14:43:12

Ahhh ..我找到了.net库中的一个Com对象,它允许我进行交互。它是Microsoft DTSPackage对象库。问题避免了。