【问题标题】:Custom SSIS component created for SQL Server 2014 not working in SQL Server 2016为 SQL Server 2014 创建的自定义 SSIS 组件在 SQL Server 2016 中不起作用
【发布时间】:2018-05-14 13:56:55
【问题描述】:

我们有几个针对 SQL Server 2014 的 SSIS 创建的自定义 SSIS 组件。
我们现在正在将 dtsx 包迁移到 SQL Server 2016 的 SSIS。

我已修改自定义 SSIS 组件,以便为 DTS 程序集的程序集引用赋予属性SpecificVersion=False。
我正在使用DTS.Runtime.Application.Upgrade 方法在控制台应用程序中升级我的包。但是,具有这些自定义组件的软件包会引发以下错误。

我还应该做什么?

DFT(SSIS.Pipeline)错误“”未能缓存组件元数据对象并返回错误代码0x80131600。

DFT (SSIS.Pipeline) 组件出错,clsid {4F885D04-B578-47B7-94A0-DE9C7DA25EE2} 由于错误 0xC0047067 未能初始化“%1”未能缓存组件元数据对象并返回错误代码 0x %2!8.8X!。”。

DFT 中的错误 ([2]) 组件丢失、未注册、不可升级或缺少必需的接口。此组件的联系信息是“”。

DFT (SSIS.Pipeline) 中的错误“”的组件元数据无法升级到组件的较新版本。 PerformUpgrade 方法失败。

Error in Package.dtsx 包加载失败。

【问题讨论】:

    标签: ssis custom-component


    【解决方案1】:

    您可以针对 2016 SSIS 二进制文件重新构建组件,将其重新部署到 GAC,并可能更改包中的引用以使用新组件(除非 2014->2016 迁移过程与 2005->2008 完全不同和 2008->2012 年,那是我停止构建自定义组件的时候)。

    原因是 SSIS 的 DLL 是强签名/版本控制的,并且项目版本之间的签名会发生变化,因此您构建的 2014 组件针对 130 版本的 TxPipeline dll,现在需要引用 140成功。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多