我已经在 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 应用程序。那个工作得很好(使用相同的连接字符串)。也在虚拟机上。
我搞不清楚了。我真的需要一个可以在这个领域与我交流一些知识的人......