这里有一个类似的问题,但没有真正的答案。
这是上一个问题: 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,就无法成功连接?
请帮帮我,我已经尝试了一切(我想)。 。
答案 0 :(得分:1)
我找到了修复!感谢Dean的建议 - 这真是太过分了。我刚刚发布到Stack Overflow,所以请原谅我糟糕的格式。基本上,答案在这里找到:
我在IIS中创建了一个新的应用程序池,仅用于WCF服务。我将该池的标识更改为管理员用户并在SQL Server数据库上具有dbo权限。然后我将我的WCF服务移动到新的应用程序池,重新启动IIS,一切正常!