1

我们使用包含脚本组件的 BIML 生成包从 SQL 2012 升级。我们收到一个错误,我可以在没有 BIML 的新项目中重现该错误。

错误是:

验证失败并返回错误代码 0xC0048021。

组件丢失、未注册、不可升级或缺少必需的接口。该组件的联系信息是“包含并运行自定义脚本代码。例如,应用业务规则限制“收入”列中的有效值范围或将两列中的值相加并计算总和的平均值。 Microsoft Corporation;Microsoft SQL Server;Microsoft Corporation;保留所有权利;http://www.microsoft.com/sql/support ;9 "。

“Parse PatientContacts,clsid {4F885D04-B578-47B7-94A0-DE9C7DA25EE2}”的组件元数据无法升级到组件的较新版本。PerformUpgrade 方法失败。

Microsoft.SqlServer.Dts.Pipeline.ComponentVersionMismatchException:Parse PatientContacts 的版本与此版本的 DataFlow 不兼容。[[指定组件的版本或管道版本或两者都高于当前版本。此包可能是在新版本的 DTS 或组件上创建的,而不是在当前 PC 上安装的。]] 在 Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostCheckAndPerformUpgrade(IDTSManagedComponentWrapper100 wrapper, Int32 lPipelineVersion)

为确保它不是 BIML 或 VS2012,我可以使用 VS2015 通过以下方式重现此错误:

  • 在 Visual Studio 2015 中创建了一个新项目
  • 将 TargetServerVersion 配置为 SQL Server 2016
  • 在我的数据源和 -Destination 之间使用脚本组件创建了一个数据流
  • 保存并构建项目。从 bin 文件夹中提取 .ispac 文件
  • 使用 SSMS 17 在我的 SQL Server 2016 实例上部署项目
  • 执行将环境配置为正确值的包。

任何帮助将不胜感激。

4

0 回答 0