将 ssdt 项目从 visual studio 2012 迁移到 2017 cdc 源未打开

migrating ssdt project from visual studio 2012 to 2017 cdc source not opening

我们将包从 Visual Studio 2012 年迁移到 2017 年 ssis工具箱中没有cdc源组件:

cdc 源组件如下所示:

而且也打不开

如果我创建一个新的 Visual Studio 2017 项目,它在 ssis 工具箱中有 cdc 源组件:

我可以使用它:

一些可以让您走上正确道路的建议

首先,post升级结果还是不错的,这样更能说明问题。此外,升级操作并不总是 100% 有效,升级包后我遇到了很多问题,这在很多时候导致从头开始重新创建包。

(1) 比较两个包 XML

.dtsx文件写在XML

我可以建议一件事,创建一个包含具有相同配置的 CDC 源的 ssis 2017 包,然后打开两个 dtsx 文件(新包和升级包)文本编辑器,并比较 CDC Source 的 XML 语法,我可以引导您找到问题原因

(2) 比较两个包的属性

比较 PackageFormatVersion、VersionBuild 和其他属性可能导致问题

也尝试比较两个包的版本信息,所以从 PackageFormatVersion (如果两个包之间相同,则意味着它们都针对 SQL 服务器2012,因此您需要更改解决方案属性中的目标版本) 和您可以获得的其他字段(如果有任何差异或可能导致您遇到问题)。

在我对以下问题的回答中阅读有关获取包信息的更多信息:

另请阅读此 Microsoft article 中有关更改目标版本的更多信息 - Integration Services 项目部分中的版本目标


如果以上建议失败

如果第一个建议中的 none 将您引向问题原因,我没有找到确切原因。但我发现一些链接在升级 SQL 服务器或部署在具有不同 SQL 服务器版本的计算机上时显示一些问题 - 我无法确认这是100% 正确 - 但我认为有很多关于 CDC 的问题没有被微软修复。

您可以从以下链接中看到这一点,例如:

我正在研究这个问题,发现有些人只需将软件包的目标版本从 2012 更改为 2016 就可以成功迁移软件包。查看 this blog post 以了解实际情况。