1

我已经在 Windows 7 上安装了 SQL Server 2008 R2 Express。

当我在 VS2010 中运行 Web 项目时,我收到以下错误:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)

奇怪,我在本地机器上工作(VS2010、IIS、SQL Server 等,不需要网络)。

我四处搜索并遵循了许多提示。没有什么帮助。

我使用正确的实例名称(例如 like Data Source=PCName\SQLServer;Initial Catalog=SampleDBName;Integrated Security=True

为网络服务提供正确的凭据,等等等等。

我现在迷路了,这个问题已经有一周了。拔我的头发!

更新:

我得到了一个使用 SQL Server Management Studio Express 测试我的连接字符串的提示。在连接弹出屏幕中,您通常使用登录选项卡(第一个和默认选项卡)。您还可以使用第三个选项卡“附加连接参数”。我测试了我的连接字符串,它工作正常!

所以,我认为这是有权利的事情。但我不知道是什么或哪个......

哦耶。一些额外的信息。我将 IIS 7.5 的应用程序池默认选项从“ApplicationPoolIdentity”更改为“NetworkService”。我将网络服务添加为 SQL 的登录名,授予权限等。我打开了 SQL 浏览器服务,该服务正在运行(但实际上并不是必需的,因为我在本地运行)。

更新 2:

似乎我找到了导致错误的原因,但我不知道为什么。

对于我的网站,我创建了一个包含一些虚拟文件夹和应用程序的网站。我的逻辑中需要一个 url。因此我使用主机头(如http://server.name.tld

在 VS2010 中,我配置了属性页 -> 启动选项 -> 使用带有 url 的自定义 Web 服务器(与前面提到的主机头相同)。

如果我这样做,我会得到错误。

如果我使用使用属性页-> 启动选项-> 默认 Web 服务器,似乎我得到了到数据库的连接。

但我需要使用主机头。

我需要做什么才能让“自定义 Web 服务器”正常工作?

更新 3:

今天也尝试使用带有 Windows Server 2008 的测试虚拟机。仍然出现错误。

还制作了一个没有 IIS 站点和没有主机头的测试 Web 应用程序。那个工作得很好(使用相同的连接字符串)。也在虚拟机上。

我搞不清楚了。我真的需要一个可以在这个领域与我交流一些知识的人......

4

3 回答 3

2

您是否尝试SQLExpress 在连接字符串中用作实例名称?

PCName\SQLExpress

此外,检查您的服务器是否配置为通过 TCP/IP 接受连接(检查 Sql Server 配置管理器)。您可以使用 SQL Server Management Studio 连接到您的数据库吗?从 Visual Studio 测试您的连接,它有效吗?

于 2012-03-22T21:46:31.930 回答
1

不使用 TCP 绑定的命名实例通常引用为.\[instance name],例如.\SQLExpress或者.\SQLServer在您的示例中。

于 2012-03-22T21:52:42.707 回答
0

红脸颊

Found the problem. Web.config configured with a session db, but no session db created and wasn't planning any longer to do so. Forget to turn it off ...

于 2012-03-24T19:25:24.807 回答