0

我在从我的开发机器连接到 sql 2005 实例时遇到了一些困难。数据库服务器在开放的互联网上。数据库服务器在非标准端口上运行,所以我在 sql config manager 中配置了一个别名。

我一直在使用这个数据库来开发 Web 应用程序。我可以从我的开发机器上通过 Visual Studio + cassini 运行的 Web 应用程序连接到它。此外,我可以使用 sql server management studio 连接到它(通过别名)。

然而,当我运行我的控制台应用程序时,我在尝试打开连接时收到命名管道错误 40 错误。我正在使用相同的连接字符串和相同的代码。

我正在撕扯我的头发 - 当你在谷歌上搜索如何处理这个错误时,那里有很多东西,但它通常是它有效或无效的情况 - 它在管理工作室和网络应用程序中不起作用,但不是控制台应用程序。

有没有人有类似的事情,或者有任何可能有帮助的指针?

谢谢

4

1 回答 1

0

可能您帐户的客户端协议配置已启用命名管道协议并且优先级高于 TCP(这是默认情况),而 Web 服务帐户已禁用它或优先级低于 TCP(这是曾经明确进行更改的事情)它从默认)。您可以从您自己的帐户客户端协议设置中禁用命名管道(上面的链接显示了如何),或者最好从连接字符串中显式强制 TCP,请参阅如何在连接字符串中使用服务器名称参数来指定客户端网络图书馆

于 2012-04-19T23:18:54.280 回答