我正在尝试更新包含脚本组件的 SSIS 包。脚本组件只获取此处描述的错误描述。
我正在使用 SSDT 2015 中的更新向导,它应该与 SQL Server 2014 兼容。(ssdt)
包更新向导运行后,我会收到有关每个具有脚本组件的数据流的警告和信息。
警告 0x40016044:加载表 TableName:找到 SQL Server Integration Services 2012 脚本组件 TableName 错误描述需要迁移!
信息 0x4001601a:加载表 TableName:TableName 错误描述已被迁移。必须保存包以保留迁移更改
这在我看来就像脚本组件已成功迁移。然后我构建包并将其部署到我的 SSIS 实例。
当我尝试通过 SQL 代理或集成服务目录在实例上执行包时,包验证失败并出现以下错误。
加载表 PersonDisability:Error: Microsoft.SqlServer.Dts.Pipeline.ComponentVersionMismatchException: 表名错误 Desc 的版本与此版本的 DataFlow 不兼容。[[指定组件的版本或管道版本或两者都高于当前版本。此包可能是在新版本的 DTS 或组件上创建的,而不是在当前 PC 上安装的。]] 在 Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostCheckAndPerformUpgrade(IDTSManagedComponentWrapper100 wrapper, Int32 lPipelineVersion)
加载表 TableName:错误:“TableName 错误描述”的组件元数据无法升级到组件的较新版本。PerformUpgrade 方法失败。
基于这些,如果消息是准确的,我有一个版本不匹配。我的实例是 2014 SP1 CU3 (12.0.4427.24),我进行包更新的 SSDT 是 2015(14.0.51128.0)
这些版本不兼容吗?
VS 2010/VS 2012 => SQL Server 2012。
VS 2013 => SQL Server 2014。
VS 2015 => SQL Server 2016(目前,他们很快将能够针对 SQL Server 2012+)
因此,您要么需要使用 SSDT for VS 2013/SQL Server 2014 重做导入,要么等到他们提供 SQL Server 的下一个候选版本,该候选版本将能够针对特定版本的 SSIS