【发布时间】:2014-10-29 19:28:54
【问题描述】:
这里有一个类似的问题,但没有真正的答案。
这是上一个问题: Invoking SSIS Package from WCF service (tcp binding)
我有一个非常相似的问题。我有一个用于 UI 的 VB.net 应用程序,它调用我在 IIS 中本地托管的 C# WCF 服务,该服务又调用我使用项目部署方法部署到 SQL Server 2012 的 SSIS 包.如果我使用 WCF 测试客户端来测试对 SSIS 包的 WCF 调用,它运行良好。一旦我将 WCF 服务部署到 IIS,然后尝试在 Visual Studio 2013 中运行我的 VB.net 应用程序并逐步执行调用 WCF 服务的代码,然后进入 WCF 服务代码,一旦它到达尝试的代码行连接到我的 SQL Server 实例,我得到一个异常说明
连接服务器失败
InnerException 是
用户“域名\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 后却无法成功连接?
请帮助我,我已经尝试了一切(我认为)。 . .
【问题讨论】:
-
要确认 DomainName\PCName$ 帐户是否有权访问您的数据库,是否可以尝试以 DomainName\PCName$ 身份运行 Visual Studio?我希望在这种情况下,您的 WCF 服务将无法连接到 DBName。
-
感谢您这么快的回答!!!当我以其他用户身份运行 Visual Studio 时,它会提示输入用户名和密码。我尝试使用空白密码,但它不起作用。有什么想法吗?
-
事实上,即使我更改连接字符串以包含我的凭据(SQL Server 实例托管在我的 PC 上,我是管理员),我得到“用户 'MyUserName 登录失败'。我只是不明白为什么 WCF 服务可以从 VS 正常连接,但一旦我发布它就不能从 IIS...