【发布时间】:2011-04-15 17:11:58
【问题描述】:
我在互联网上阅读了很多类似主题的文章和答案,但没有找到问题的原因。
我有一个 .NET 4 Windows 服务连接到同一台机器上的 SQL Server Express。只有一次在生产中碰巧看到以下错误:
“与服务器成功建立连接,但在登录过程中发生错误。(提供者:命名管道提供者,错误:0 - 管道另一端没有进程。)” .
如果我们使用命名管道协议,则出现此错误的原因很明显,因为我们尚未在服务器上启用它们。但是我的问题是为什么可以在这里使用命名管道协议?在连接字符串中,我们使用了“Data Source=.\SQLEXPRESS”。考虑到 msdn 和互联网上的信息,我的理解是当“。”始终使用“共享内存协议”。那么必须发生什么才能让 ADO.NET SqlClient 决定使用命名管道协议呢?
大多数时候一切都很好,但我需要知道这个过程,以便我们可以在需要时防止任何进一步的此类错误。
提前致谢, 托多尔
【问题讨论】:
标签: .net sql-server ado.net communication-protocol