2012-04-25 789 views
0

我试图从EntLib(MVC3,EntLib5,SQL Server 2008)调用一个存储过程。我正在使用SQL Server的默认实例,并且可以很好地从SQL Server Management Studio连接到它。我尝试了所有可以在网上找到的东西,没有任何东西让我连接。该服务以LocalSystem身份运行。这里的connecction字符串:无法连接到本地SQL Server

服务器=本地;数据库=测试; Trusted_Connection =真

这里的错误消息我得到:

同时建立了发生与网络相关的或特定于实例的错误连接到SQL Server。服务器未找到或无法访问。验证实例名称是否正确,并将SQL Server配置为允许远程连接。 (提供程序:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)

+0

现在,它似乎是缓存“本地”。我如何强制它读取新的服务器名称? – birdus 2012-04-25 21:31:17

+0

您必须关闭并重新启动您的应用程序。可能回收IIS中的应用程序池以获得更好的效果(假设您使用的是IIS而不是Cassini,即内置的VS Web服务器)。 – 2012-04-25 21:42:26

+0

即使在重新启动后,它仍似乎正在返回一个缓存结果。我确实证实了你的建议服务器名称允许我通过EntLib连接到数据库。这就是我试图读取连接字符串的方式: ConfigurationManager.ConnectionStrings [Const.ConnectionString] .ConnectionString; – birdus 2012-04-26 14:18:12

回答

3

服务器应该是“localhost”,而不是“本地”,并且应该在SQL Server配置管理器中启用“TCP/IP”和“命名管道”协议。另外,如果您想使用可信连接,则可能需要在您的MVC3应用程序上启用Windows身份验证,否则请在连接字符串中提供用户名和密码。

1

如果您正在使用本地SQL Server,则需要使用localhost或“。”。

相关问题