3

我在 BizTalk 管理数据库上遇到登录失败异常,而已证明 ConnectionString 有效并且用户拥有权限(因为我使用 sa 进行测试)。它在通过 Web Api 时有效,而在通过 Windows 服务时不起作用。

我得到的异常如下所示:

无法打开登录请求的数据库“BizTalkContextMgmtDb”。登录失败。用户“sa”登录失败。- System.Data.SqlClient.SqlException

我在 Windows 服务的应用程序配置中使用与 asp.net WebApi 的 Web 配置中相同的连接字符串

我使用的连接字符串如下所示:

    <add name="BizTalkContext" connectionString="Server=ServerName;Database=BizTalkMgmtDb;User ID=sa;Password=******;"   />

连接的代码在与 BizTalk 通信的类库中,ConnectionString 设置如下:

    private static string Connectionstring = 
       ConfigurationManager.ConnectionStrings["BizTalkContext"].ConnectionString;

奇怪的是,当我尝试从 web api 中运行这个类库中的方法时,一切正常!当我尝试从 Windows 服务中运行类库中的方法时,它会引发显示的异常。

这里可能是什么问题,因为我在两个项目中使用了相同的技术和相同的库。

编辑

Rick van Bodegraven建议将以下内容添加到连接字符串中。“Trusted_Connection=False;加密=True;”

这导致了一个新的异常:

与服务器成功建立连接,但在登录过程中出现错误。(提供者:SSL 提供者,错误:0 - 证书链由不受信任的机构颁发。) - System.Data.SqlClient.SqlException

4

1 回答 1

1

事实证明,重新启动我的服务器并重新安装 Windows 服务以某种方式解决了这个问题。我认为我一直在做所有事情,只是在某个地方的部署过程中出现了一个错误。

所以我知道这不是一个真正的答案,这个问题也不是一个已知问题。有同样问题的人实际上可以尝试重新启动、重新安装和重新部署每一件事。不幸的是,这是我对这个问题的唯一建议。

于 2013-05-16T08:34:28.063 回答