【问题标题】:Execute package from SSIS catalog programmatically in SQL Server 2014在 SQL Server 2014 中以编程方式从 SSIS 目录执行包
【发布时间】:2015-08-17 09:33:35
【问题描述】:

有人知道Microsoft.SqlServer.Management.IntegrationServices 是否仍可用于管理 SQL Server 2014 中 SSIS 包的远程执行吗? Remotely running a project-deployed SQL 2012 SSIS Package 建议这在 SQL Server 2012 中有效。

MSDN 页面Running and Managing Packages Programmatically 还列出了上面提到的用于处理包的命名空间(尽管它没有说明它是否可以处理远程包)。

我的包存储在 SSISDB 目录中,需要从运行在不同服务器上的 Web 应用程序触发。当我在本地安装 SSIS 的开发环境中运行程序时,一切正常,但在生产中我收到以下错误:

异常类型:FileNotFoundException 异常消息:无法 加载文件或程序集 'Microsoft.SqlServer.Management.IntegrationServicesEnum, 版本=12.0.0.0,文化=中性,PublicKeyToken=89845dcd8080cc91' 或 它的依赖项之一。系统找不到指定的文件。

由于我的项目没有引用这个 dll,我想知道生产服务器是否需要安装 SSIS 或组件才能正常工作。

我在我的项目中引用了以下库:

  • Microsoft.SqlServer.ConnectionInfo.dll
  • Microsoft.SqlServer.Management.Sdk.Sfc.dll
  • Microsoft.SqlServer.Smo.dll
  • Microsoft.SqlServer.Management.IntegrationServices.dll

【问题讨论】:

  • 您确定您实际上是在远程运行它吗?因为此链接表明您需要使用 SQL 代理(或通过逻辑扩展一些其他远程执行实用程序)msdn.microsoft.com/en-us/library/ms403355(v=sql.110).aspx。我怀疑你一直在客户端(即网络服务器)上运行它
  • 该链接描述了一种不同的方法,并且没有使用我提到的 API(Microsoft.SqlServer.Management.IntegrationServices 命名空间)。那篇文章没有考虑存储在 SSISDB 目录中的包。
  • 感谢您的澄清!

标签: c# sql-server ssis


【解决方案1】:

我一直无法找到原始问题的答案,因此我放弃了 API,转而使用存储过程,使用 catalog.start_execution

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 2010-10-29
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多