从版本8到版本6的程序包迁移失败,出现错误

问题描述

我有一个基本软件包,其中包含几个Exec sql任务和一个Data Flow任务。它是使用Visual Studio 2019(目前最新版本)以程序包部署模型开发的。 VS中的执行效果很好,但是由于此错误而被sql Agent(在 sql Server 2012 Standard 之内)运行时失败了

“从版本8到版本6的程序包迁移失败,出现错误 0xC001700A“软件包中的版本号无效。 版本号不能大于当前版本号。“。”

我尝试过的事情:

1-我已经阅读了相同问题的所有其他答案:我经过“属性”,然后将部署版本从2019年更改为2012年。实际上,我得到了以下确认:

enter image description here

2-我浏览了XML并确保没有版本8之类的东西,并且仅在V6中存在 3-我再次使用Visual Studio重新创建了整个过程,但这一次我将部署目标设置为2012。

请帮助。谢谢

解决方法

我想我会在其他人挣扎的情况下回答:这个问题是由于VS内部存在基本设计缺陷(他们在不考虑这一点的情况下如何设计它是愚蠢的)。本质上,我使用的是早期版本中不支持的连接类型(驱动程序)。连接类型很少获得版本升级(例如,SQLN11与10)。获得目标服务器时得到的只是一个不同的XML架构,它不会将连接类型更改为SQL 2012友好版本。

我使用VS 2012重新创建了整个程序包,从而手动更改了连接类型。但是,如果您具有较早版本的连接类型,则不必这样做,只要允许您选择较早的版本即可。