2

我有一个在 SQL Server 2016 上运行的 2012 SSIS 项目。我的开发机器和服务器上都有 SSDT 2015。除脚本任务外,一切正常 - 我对现有脚本任务进行了更改并重建并重新部署了项目,但收到以下错误:

脚本任务使用此版本的集成服务不支持的 15.0 版脚本。要运行包,请创建一个新脚本。

我尝试了以下方法:

  • 将项目升级至 2016 年
  • 创建一个新的脚本对象
  • 在服务器上创建脚本

它在 SSDT 2015 中运行良好,但是一旦部署它就会在通过 SSMS 执行包时失败并出现上述错误 - 这是我的开发盒和服务器的结果。我以为 14.0 是 2016 年?有什么想法可以解决这个问题吗?

脚本任务(在包中)不能通过服务器上的集成服务目录执行,但在 SSDT 中可以正常工作。

4

5 回答 5

4

这对我有用。如果您使用 SSMS 并尝试通过集成服务目录(导入和部署)添加您的 DTSX(包含脚本),它将失败。但是,如果您在 Visual Studio 中使用 Project>Deploy 选项,它将成功。我的目标是 SQL 2016,SSDT 是 2015。请注意,在 Project 下是我使用的 Upgrade All Packages 选项。我不知道这是否有必要,我不这么认为,但以防万一。

于 2017-07-06T15:33:13.173 回答
2

这个错误真的很烦人,而且真的很愚蠢。感谢 Microsoft 在 2014 年和 2016 年使用 SSDT 17+ 的服务下进行的完全错误和故障开发(他们的意思是 sh.t-sh.t-devil's-tools 吗?)

解决此问题的最简单方法是使用BIDS Helper在 SQL Server 上部署单个包。只需确保设置与目标服务器相同的项目兼容性即可。

相同的包(仅拖入一个 EMPTY DEFAULT 脚本),两种类型的部署 - 在 SQL Server 上将副本另存为...,以及 BIDS Helper 右键单击​​ - 部署。

从代理作业运行此包。使用第一种部署类型 - 你会得到关于 15.0 版本的错误,而使用第二种类型 - 你不是。我对此很满意)))

于 2017-07-13T14:33:58.797 回答
1

部署单个包或整个项目时存在差异:

如果部署单个包,则用于部署单个包的 Visual Studio 版本必须与部署整个项目的 Visual Studio 版本相同。

如果你部署整个项目,那么这些脚本版本问题是由VS在部署时调整的,所以应该不会出现问题。

于 2018-03-27T08:13:43.003 回答
1

这篇文章帮助我解决了这个问题。使用 SSMS 2017 部署 ispac 文件时,我在 Visual Studio 2015 和 SQL Server 2016 上遇到了同样的问题。当我开始使用 SSMS 2016 时,一切都开始正常工作。

于 2018-01-03T08:27:03.057 回答
0

我通过从其他环境 SQL 管理工作室集成服务中导出 *.ispac 文件来获取类似的错误。从 Visual Studio project/bin/development 获取 *.ispac 解决了此类错误

于 2019-05-07T11:25:34.880 回答