在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)
整了一天一夜,终于找到问题所在。分享一下吧。
出错页:
“/WebSite-Classic”应用程序中的服务器错误。
--------------------------------------------------------------------------------
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)
源错误:
行 97: {
行 98: SqlConnection connection = conn();
行 99: connection.Open(); 出错!!!
行 100: SqlCommand cmd = new SqlCommand("select count(*) from Tab_User_Infor where UserName='" + str1 + "' and UserPWD='" + str2 + "'", connection);//验证密码、用户名和状态为不在线同时成立则登陆成功。
行 101: int i = Convert.ToInt32(cmd.ExecuteScalar());
源文件: d:/My Documents/Visual Studio 2005/c#ASP.net/WebSite-Classic/App_Code/data.cs 行: 99
网上的几种方法:
首先先确定电脑上安装了SQL Server(SQLEXPRESS)服务,并正常启动。
然后,进入开始--> 程序-->Microsoft SQL Server 2005->配置工具->SQL Server外围应用配置器
选择“服务和连接的外围应用配置器”
选择“MSSSQLSERVER->Database Engine->远程连接",计算机默认的是仅限本地连接,所以选择”本地连接和远程连接->同时使用TCP/IP和named pipes(B)"
设置好后,单击应用和确定,并返回“服务”
停止服务后重新启动。
设置好以上服务后,接下来再看看SQL Server Configuration Manager里面的设置。
进入Microsoft SQL Server 2005->配置工具->SQL Server Configuration Manager
选择SQL Server 2005 网络配置->MSSSQLSERVER的协议,把协议VTA禁用,默认是启动的。
以上配置好后,到最后一步了。重启SQL Server
进入控制面板->服务->SQL Server(MSSSQLSERVER)和SQL Server(EXPRESS),把启动类型设置为自动启动,然后重启两个服务!
我的问题所在:web.config
错误的web.config:
<appSettings/>
<connectionStrings>
<add name="webDBConnectionString" connectionString="Data Source=CHINA-61C49955A/SQLEXPRESS;Initial Catalog=webDB;User ID=sa;Password=123"
providerName="System.Data.SqlClient" />
<add name="webDBConnectionString2" connectionString="Data Source=.;Initial Catalog=webDB;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
正确的:
<appSettings/>
<connectionStrings>
<add name="webDBConnectionString" connectionString="Data Source=.;Initial Catalog=webDB;User ID=sa;Password=123" providerName="System.Data.SqlClient"/>
</connectionStrings>
后记:
虽然是小问题,但还是难倒了我这个菜鸟。苦闷寻觅了一整天,希望把这些分享给大家,让大家少走些弯路。