【问题标题】:Upgrade SSIS package created in SSIS 2014 to work in SSIS 2016升级在 SSIS 2014 中创建的 SSIS 包以在 SSIS 2016 中工作
【发布时间】:2017-07-14 15:39:13
【问题描述】:

如何升级在 SSIS 2014 中创建的 SSIS 包,以便它们在 SSIS 2016 中工作?

我正在尝试使用 c# (Package.Execute) 调用包。 我的包有自定义脚本任务。

我写过重定向,比如...

<assemblyIdentity name="Microsoft.SqlServer.ManagedDTS" culture="neutral" />
<bindingRedirect oldVersion="10.0.0.0-13.0.0.0" newVersion="13.0.0.0"/>

但我仍然收到错误要在 SQL Server Data Tools 之外运行 SSIS 包,您必须安装 Integration Services 或更高版本。

【问题讨论】:

    标签: ssis


    【解决方案1】:

    微软文档 - Understanding the Differences between Local and Remote Execution

    你只能在开发环境之外运行一个包 安装了集成服务的计算机。你不能跑 客户端计算机上 SQL Server Data Tools (SSDT) 之外的包 未安装集成服务,以及以下条款 您的 SQL Server 许可可能不允许您安装集成 附加计算机上的服务。 SQL Server 集成服务是一个 服务器组件,并且不可再分发到客户端计算机。到 从客户端计算机运行包,您需要在 确保包在服务器上运行的方式。

    因此,调用 Package.Execute 的 C# 代码只能在安装了 SSIS 的机器上运行。

    请在您的本地开发机器上安装 SSIS 以测试此代码。或尝试another method to execute packages remotely

    • 使用 SQL Server 代理以编程方式运行远程包
    • 使用 Web 服务或远程组件运行远程包 以编程方式

    编辑:是的,这有时会让开发人员感到困难。 Microsoft 希望您为该 SSIS 许可证付费。

    【讨论】:

    • 感谢您的回复特洛伊。好吧,实际上我的意思是 SSIS 2014 和 SSIS 2016。我正在对我的问题进行更正 - 我的错!我相信 SSIS 2014 包不能直接在 SSIS 2016 引擎上工作。那么有什么方法可以让它工作,特别是当我有脚本任务和脚本组件(c#)时?
    • 您的开发机器上是否安装了 SQL/SSIS 2016?
    • 是的。但是我的包是在 SSIS 2014 中开发的。我们的一些客户可能在 2016 年,有些仍然在 2014 年。
    • 您在本地开发机器上安装了 SSIS?请打开 SQL Server 配置管理器并告诉我您正在运行的 SQL Server Integration Services 版本。 Image。谢谢。
    • SSIS 13.0 为版本
    【解决方案2】:

    如果您使用 SSDT for Visual Studio 2017,您应该能够更新 SSIS 项目属性中的 TargetServerVersion 选项。

    capture

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-11
      • 1970-01-01
      • 1970-01-01
      • 2018-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多