程序包从版本8迁移到版本6失败,错误为0xC001700A

时间:2016-09-13 16:13:41

标签: sql-server ssis sql-server-2014

在VS 2013中建立的SSIS包(v 12.0.31101)
DTSExec在SQL Server 2014上运行

  

描述:从版本8到版本6的包迁移失败   错误0xC001700A"包中的版本号无效。   版本号不能大于当前版本号。"。

当人们使用SQL 2012时,我看到了很多关于上述结果的谷歌结果,但我在2014年并且找不到任何支持。版本应匹配(即两者都是包版本8)

select @@version
  

Microsoft SQL Server 2014(RTM-CU14)(KB3158271) - 12.0.2569.0(X64)     2016年5月27日15:06:08版权所有(c)Microsoft Corporation     Windows NT 6.3(Build 9600:)

上的企业版(64位)

其他信息 - 看起来它正在运行旧的DTSExec,从现在已删除的sql 2012实例中删除。我将如何修复/重新命名为2014?

  

Microsoft(R)SQL Server执行包实用程序版本 11.0.2100.60   适用于64位版权所有(C)Microsoft Corporation。保留所有权利。

2 个答案:

答案 0 :(得分:1)

发现我可以强制它使用正确的dtexec,如下所示:

  

转到PATH环境变量并以这样的方式对其进行编辑   " C:\ Program Files \ Microsoft SQL Server \ 110 \ DTS \ Binn"路径看起来很好   在" C:\ Program Files \ Microsoft SQL Server \ 100 \ DTS \ Binn"之前路径。

然后重新启动SQL Server服务。现在它显示正确的版本:

  

Microsoft(R)SQL Server执行包实用程序版本12.0.2569.0   适用于64位版权所有(C)Microsoft Corporation。保留所有权利。

答案 1 :(得分:0)

使用正确的部署向导有助于解决此问题。

  1. 使用正确的目标sql版本。
  2. 如果您的服务器是32位的,请确保将“ Run64Bitruntime”属性设置为False。
  3. 如果直接从解决方案部署向导进行部署,则应该不会造成任何问题。
  4. 构建并重建解决方案并进行配置。
  5. 如果将.ispac发送给将进行部署的人员,则可能存在问题。
  6. 确保在部署ispac时使用正确版本的部署向导,因为它会自动转换软件包的版本值。

从SSISDB.internal.packages中选择*

->对于Sql Server版本2012 packageformatversion是6 ->对于Sql Server 2014及更高版本,packageformatversion为8