从WCF调用SSIS包

时间:2014-10-29 19:28:54

标签: c# vb.net wcf ssis

这里有一个类似的问题,但没有真正的答案。

这是上一个问题: Invoking SSIS Package from WCF service (tcp binding)

我有一个非常类似的问题。我有一个用于UI的VB.net应用程序,它调用我在IIS本地托管的C#WCF服务,后者又调用我已部署到SQL Server的SSIS包2012使用Project Deployment方法。如果我使用WCF测试客户端来测试对SSIS包的WCF调用,它运行正常。一旦我将WCF服务部署到IIS,然后尝试在Visual Studio 2013中运行我的VB.net应用程序并逐步调试调用WCF服务的代码,然后一旦到达尝试的代码行,就进入WCF服务代码为了连接到我的SQL Server实例,我得到一个异常陈述

  

无法连接到服务器

InnerException

  

用户' DomainName \ PCName $

的登录失败

WCF代码中的连接字符串如下:

SqlConnection connection = new SqlConnection(@"Data Source=PCName\SQLServerInstance;Initial Catalog=DBName;Integrated Security=SSPI;");

我已尝试为DomainName\PCName$添加Windows身份验证登录到SQL Server,但它没有任何区别。当我使用WCF测试客户端在Visual Studio中测试时,为什么WCF服务能够成功连接到我的SQL Server实例,但是一旦我将WCF服务发布到本地IIS,就无法成功连接?

请帮帮我,我已经尝试了一切(我想)。 。

1 个答案:

答案 0 :(得分:1)

我找到了修复!感谢Dean的建议 - 这真是太过分了。我刚刚发布到Stack Overflow,所以请原谅我糟糕的格式。基本上,答案在这里找到:

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/ff441dc3-b43b-486b-8be1-00126cf53812/calling-ssis-packages-from-aspnet-packages-with-file-system-tasks-end-abruptly?forum=sqlintegrationservices

我在IIS中创建了一个新的应用程序池,仅用于WCF服务。我将该池的标识更改为管理员用户并在SQL Server数据库上具有dbo权限。然后我将我的WCF服务移动到新的应用程序池,重新启动IIS,一切正常!