哪种方法我应该使用从.NET应用程序远程执行的SSIS包? [英] Which method should I use to execute an SSIS package remotely from a .net application?
问题描述
我需要远程执行的SSIS包位于从C#.NET应用程序中的SSIS包店。
I need to remotely execute an SSIS package located in the SSIS Package store from a C# .net application.
应用程序位于一个单独的服务器上,集成服务不能安装应用程序服务器上。
Application is located on a separate server, integration services cannot be installed on the app server.
我有我的功能开发计算机上工作只是用文件系统的方法,因为我安装了集成服务,让它运行。现在我需要甩掉它来远程调用程序包。
I have the functionality working on my dev machine just using the file system method because I installed integration services to get it running. Now I need to flip it to call the package remotely.
现在,我使用以下内容:
Right now I'm using the following:
pkg = app.LoadFromDtsServer("\loadfile", "DBServer", Nothing)
不过,我得到以下错误:
But I get the following error:
的连接到计算机上的Integration Services服务DBSERVER失败,出现以下错误:访问被拒绝在默认情况下,只有管理员有权访问Integration Services服务在Windows Vista和更高版本,。这个过程必须是为了连接到Integration Services服务具有管理权限运行。请参阅如何配置对服务的访问信息的帮助主题。的
当然,在运行该生产应用程序的用户将不会被授予数据库服务器上的这些权利。我怎样才能使这个运行作为SQL用户?这是去这个正确的方式?还有其他的选择,我知道。包不绝对必须存放在包店,但我相信这是最好的做法。
Certainly the user running this application in production will not be granted such rights on the database server. How can I make this run as a sql user? Is this the right way to go about this? There are other options, I know. The package does not absolutely have to be stored in the package store, but I believe this is best practice.
我还要提到的是,应用程序通过一个包变量传入文件名,因此任何解决方案需要做的,以及能力。我不知道如何,如果我创建作业来运行包做到这一点。
I should also mention that the application passes in a file name via a package variable, so any solution needs the ability to do that as well. I'm not sure how to do this if I create a job to run the package.
推荐答案
您可以使用存储过程在SSIS目录部署项目并执行套餐
you can use stored procedures in the SSIS catalog to deploy the project and execute the packages
的https://msdn.microsoft.com/en-US/library/jj820152.aspx?f=255&MSPPError=-2147217396
这篇关于哪种方法我应该使用从.NET应用程序远程执行的SSIS包?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!