无法从MVC应用程序连接到SQL Server Express 2008

3

我的全新Server 2008 R2服务器无法接受来自我的MVC3应用程序的连接。

我已经尝试了三天,但是它无法通过浏览器连接。但是我可以使用用户凭据以及管理员身份通过SQL Server Mgmt Studio登录。

我已经完成了以下操作:

  • 设置接受远程连接(即使IIS和SqlExpress在同一台机器上运行)
  • 启用命名管道/TCP/共享内存
  • 禁用TCP配置的动态端口(将其设置为空白)
  • 指定TCP配置的端口
  • 禁用Windows防火墙

我知道这是一个通用错误,但它就是无法连接。

连接字符串:

add name="Main.ConnectionString" 
   connectionString="Data Source=.\sqlexpress;Initial Catalog=BJ;User Id=Jameson;Password=pass!;"

我收到以下错误信息(YSOD):

在建立与 SQL Server 的连接时发生了特定于网络或实例的错误。找不到服务器或无法访问服务器。请验证实例名称是否正确,并确认 SQL Server 已配置为允许远程连接。(提供程序: SQL Network Interfaces, 错误: 26 - 找不到指定的服务器/实例)

[SqlException (0x80131904): 在建立与 SQL Server 的连接时发生了特定于网络或实例的错误。找不到服务器或无法访问服务器。请验证实例名称是否正确,并确认 SQL Server 已配置为允许远程连接。(提供程序: SQL Network Interfaces, 错误: 26 - 找不到指定的服务器/实例)]

如何解决这个问题?

你的实例名称是什么 SQLEXPRESS?你的连接字符串是什么样子?(当然,机密部分已更改) - Tahbaza
2个回答

2
如果你使用SQL身份验证,你的连接字符串应该像这样:
Data Source=myServerAddressIP\SQLEXPRESS;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

如果您正在使用Windows身份验证:

Data Source=myServerAddressIP\SQLEXPRESS;Initial Catalog=myDataBase;Integrated Security=SSPI;

同时确保防火墙未阻止连接。

如需更多信息,请查看以下网站。如果您仍然在配置SQL Server时遇到问题,请毫不犹豫地在https://serverfault.com/上提出您的问题。


2

以下是我建议检查的一些故障排除事项:

  • 您的代码是否明确使用了Main.ConnectionString?请仔细检查--我曾经遇到过在.dbml中硬编码连接字符串的情况。我知道您没有提到LINQ To SQL,但这也适用于EF。

  • 搜索您的代码,看看是否有任何硬编码的连接字符串残留。

  • 使用新版本重新部署项目

  • 您的开发工作站是否可以使用相同的连接字符串进行连接?


我在应用程序中有一个硬编码的查询字符串,已经存在了很长时间,但它仍然被调用。感谢您的帮助。 - Dr.
1
@博士:没问题,很高兴能帮忙!请记得使用绿色的勾选标记“接受”最佳答案。这是 StackOverflow 的声望系统的一部分。 - p.campbell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接