如何删除对动态构建DTS包的.net 2.0 DTS库的依赖性。如何使用C#.Net 4.6中的等效SSIS?

时间:2017-02-09 20:27:43

标签: c# ssis ssis-2012 dts

我们正在这里进行技术升级。迁移到SQL Server 2012.同时将应用程序从.Net 2.0移动到.Net 4.5+,这样我们就可以在更新的操作系统上运行应用程序。问题是应用程序代码动态创建了DTS包,然后通过运行包运行任务运行器以将构建DTS包的上载文件读入数据库。旧代码使用DTS库来创建DTS包。当然,此代码已不再可用。

我不是要尝试转换DTS包。我试图不,首先建立它们。我可以使用SSIS,但我不确定这是否是SSIS的使用方式。谁能告诉我如何使用SSIS来解决这个问题。

感谢您的时间!

1 个答案:

答案 0 :(得分:1)

如果您没有生成SSIS包的程序的源代码,那么您几乎没有任何变化 这里的主要问题是该程序将为旧的SSIS版本生成包;它涵盖了DTSX文件格式和组件名称。组件名称是SSIS任务和数据流项的名称,这是SSIS知道接下来要执行的任务的方式。大多数这些组件名称在下一版本的SSIS中被更改的坏事;此外,一些组件已更改其参数名称 如果您保持DTS生成程序不变,您将始终收到过时版本的SSIS包。 SSIS可以即时转换和升级简单包,但更复杂的包应该进行手动升级 在您的情况下,有几种可能性:

  • 查找源代码并对其进行修改以生成正确的包。
  • 生成包,保存然后 - 使用SSIS或Visual Studio中的升级向导进行升级。然后,您必须在VS中手动维护包,并通过SQL Server代理或批处理文件运行它们。
  • 熟悉BIML以根据元数据动态生成包。这比C#方法更简单。

我个人会选择第三种选择。