我可以部署&将SSIS SQL Server DTS DLL用于未安装SQL Server 2008的计算机上?

时间:2011-07-19 17:58:51

标签: sql-server ssis

电贺。 我已经开发了一些我想要加载并在C#代码中执行的SSIS包。 C#代码部署在我们的应用程序机器上。 我在C#项目中引用了SQLServer.ManagedDTS DLL。

我尝试在我们的暂存应用程序框中使用该DLL,顺便说一下,它似乎也需要gac'ing SQLServer.DTSRuntimeWrap DLL。

执行包的代码就是这样

Runtime.Package package = new Runtime.Application().LoadPackage(ssisPackageFilePath, null);
package.Variables["FilePath"].Value = sourceFilePath;
//Excute Package to insert data from source csv file into a SQL table
Runtime.DTSExecResult results = package.Execute();

当我尝试运行该过程时,我收到以下错误

An Integration Services class cannot be found. 
Make sure that Integration Services is correctly installed on the computer that is running the application. 
Also, make sure that the 64-bit version of Integration Services is installed if you are running a 64-bit application

我想我应该能够简单地gac(安装)我用来开发执行SSIS dtsx包文件的代码的一个DLL。

我在Visual Studio 2008 BIDS项目中开发了包,产生了一个dtsx文件。 我在visual studio 2010项目中引用了SqlServer.ManagedDTS DLL来从代码中执行dtsx文件。 在本地测试和调试成功。

为了让我的代码能够执行SSIS包,我需要做些什么才能设置我的应用程序框?

我希望我不仅限于能够从安装了SQL Server或IntegrationServices实例的盒子上的代码执行包。这可能意味着需要另一个许可证。

我是否需要在应用程序框上安装Integration Services?

1 个答案:

答案 0 :(得分:1)

是的,您需要安装Integration Services才能在服务器上运行该程序包。仅将DLL部署到GAC中将无助于执行包。

以下MSDN link描述了Running an SSIS Package Programmatically on a Remote Computer

您需要安装至少一台安装了Integration Services的服务器才能执行MSDN文章所述的操作。