Linq连接数据库发生错误,提示"...SQL Server does not allow remote connections..."

最近在用Linq做站点,项目环境是VS2008+SQLServer2005. 在本地的数据库用的是VS2005的SQLEXPRESS,一切正常,做完后,发布到服务器,数据库和登陆名都配置正常,更改数据库连接字符串,运行站点后却发生如下错误:

 

到网上查了一天的原因,基本上都是说要打开远程登陆或防火墙开例外。最后我无意后发现原来是创建DataContext时,使用的默认数据库连接字符串

base(global::Montclair.Models.Properties.Settings.Default.MontclairConnectionString, mappingSource)

这个数据库连接字符串原来是从服务器资源管理器中拖拽数据库表到dbml文件时产生的默认连接字符串,所以用不带参数的默认DataContext()创建连接时,就发生以上错误。改用带连接字符串的参数创建后,问题就解决了。

太粗心了,看来以后还是不能使用默认产生的方法了。

以此留念,提醒自己以后遇到相似的问题,该如何找问题发生的原因。

原文地址:https://www.cnblogs.com/oletan/p/1683711.html