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

时间:2011-03-25 23:48:02

标签: sql-server asp.net-mvc-3 sql-server-express

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

我一直试图让这个工作3天。它不会通过浏览器连接。但是,我可以使用用户凭据通过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网络接口,错误:26 - 查找指定的服务器/实例时出错)

     

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

如何解决这个问题?

2 个答案:

答案 0 :(得分: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;

还要确保防火墙不会阻止连接。

有关详情,请查看following site。如果您仍然遇到配置SQL Server的麻烦,请不要犹豫,在https://serverfault.com/上提出您的问题

答案 1 :(得分:2)

我要检查的一些问题:

  • 是明确使用Main.ConnectionString的代码吗?仔细检查一下 - 我已经看到LINQ To SQL在.dbml中有一个硬编码连接字符串的实例。我意识到你没有提到LINQ To SQL,但这也适用于EF。

  • 在代码中搜索任何硬编码连接字符串的残余内容。

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

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