如何在 SSIS 中更改脚本任务版本?

Zac*_*ith 10 ssis

我在 VS2015 的一个 SSIS 项目中添加了一个脚本任务。当我部署到 SQL Server 2016 时,我收到一条错误消息,指出该version 15.0脚本不受支持。

这是哪里version 15 come from?阅读有关 Stack Overflow 的其他类似问题,我发现您可以将项目的目标版本设置为 SQL Server 2012 - 我就是这样做的(最终部署目标是 SQL Server 2012)。

我还尝试删除并重新创建脚本任务。在脚本的信息中,它说它使用的是 C# 的 V10。

我该如何解决这个问题?

脚本任务:错误:从 XML 加载脚本任务时出现异常:System.Exception:脚本任务““ST_a1ad9dc5972c42b68c12a13155f10b6d””使用了此版本的 Integration Services 不支持的 15.0 版脚本。要运行包,请使用脚本任务创建新的 VSTA 脚本。在大多数情况下,当您在 %SQL_PRODUCT_SHORT_NAME% Integration Services 中打开 SQL Server Integration Services 包时,脚本会自动转换为使用受支持的版本。在 Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask.LoadFromXML(XmlElement elemProj, IDTSInfoEvents events)"

我还在 SSDT 2012 中打开了该项目并使用不同的名称重建。同样的错误。好像肯定有没有被删除的引用什么的。

关于这个问题的解决方案(/sf/ask/2442528721/)都没有奏效。

查看脚本所在包中的 XML,我可以轻松找到该任务,并且在任何地方都没有提到版本 15。

============ 编辑

将项目复制到托管数据库的机器上,打开 VS2015 并从那里部署后,程序包就会执行。

然后当回到我的机器并在那里建造时,它没有。

这是一个错误吗?还是我期望构建生成与使用 VS 中的向导相同的部署向导来做一些愚蠢的事情...

我有 SQL Server 2016 (13.0.4411.0),ssisdb有架构版本 (13.0.1601.5)。

我正在使用在 Visual Studio 2015 中创建的集成服务包。脚本组件具有路径:C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\VSTA14_IS_ST_CS_Template.vstax它不会让我通过集成服务目录执行包(由于 Zach 遇到的消息)。但是,它似乎可以让我通过文件系统(使用 SQL 代理)执行它。不确定这是否有效,将在包完成后更新。

小智 5

我相信我有同样的问题,这里是解决我的问题的工作。

先说细节:

  • 我有 sql server 2016 (13.0.4411.0)
  • SSISDB 具有架构版本 (13.0.1601.5)
  • 我正在使用在 Visual Studio 中创建的集成服务包
  • 脚本组件(声明它是 2015 C#)具有路径:C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\VSTA14_IS_ST_CS_Template.vstax

如果我通过 SSMS 部署到目录,它不会让我通过集成服务目录执行包(由于 Zach 遇到的消息 - 不支持版本 15.0)。

解决方法:

如果我通过 Visual Studio 将包部署到所需实例上的“集成服务目录”,则此消息将消失并且项目成功运行。这并不理想,因为我们应该能够通过 SSMS 进行部署,但这意味着项目可以进行。