【发布时间】: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