provider: SQL 网络接口, error: 26 解决方法 图
在建立与服务器的连接时出错。在连接到 SQL Server 2005时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error:26 - 定位指定的服务器/实例时出错)
????????????????????整了一天一夜,终于找到问题所在。分享一下吧。
?????????????????????????????????????????????????????????????????????????????雨儿 原创
出错页:
?????????“/WebSite-Classic”应用程序中的服务器错误。
--------------------------------------------
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQLServer 已配置为允许远程连接。 (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 Studio2005\c#ASP.net\WebSite-Classic\App_Code\data.cs?? 行: 99
网上的几种方法:
首先先确定电脑上安装了SQLServer(SQLEXPRESS)服务,并正常启动。
然后,进入Microsoft SQL Server2005->配置工具->SQL Server外围应用配置器
选择“服务和连接的外围应用配置器”
选择“MSSSQLSERVER->DatabaseEngine->远程连接",计算机默认的是仅限本地连接,所以选择”本地连接和远程连接->同时使用TCP/IP和namedpipes(B)"
设置好后,单击应用和确定,并返回“服务”
停止服务后重新启动。
设置好以上服务后,接下来再看看SQL Server ConfigurationManager里面的设置。
进入Microsoft SQL Server2005->配置工具->SQL Server ConfigurationManager
选择SQL Server 2005网络配置->MSSSQLSERVER的协议,把协议VTA禁用,默认是启动的。
以上配置好后,到最后一步了。重启SQL Server
进入控制面板->服务->SQLServer(MSSSQLSERVER)和SQL Server(EXPRESS),把启动类型设置为自动启动,然后重启两个服务!
我的问题所在:web.config
错误的web.config:
?<appSettings/>
?<connectionStrings>
? ? <addname="webDBConnectionString" connectionString="DataSource=CHINA-61C49955A\SQLEXPRESS;Initial Catalog=webDB;UserID=sa;Password=123"
? ? ?providerName="System.Data.SqlClient" />
? ? <addname="webDBConnectionString2" connectionString="DataSource=.;Initial Catalog=webDB;Integrated Security=True"
? ? ?providerName="System.Data.SqlClient" />
?</connectionStrings>?
正确的:
<appSettings/>
<connectionStrings>
<add name="webDBConnectionString"connectionString="Data Source=.;Initial Catalog=webDB;UserID=sa;Password=123"providerName="System.Data.SqlClient"/>
</connectionStrings>?
?后记:
虽然是小问题,但还是难倒了我这个菜鸟。苦闷寻觅了一整天,希望把这些分享给大家,让大家少走些弯路。?????????????????????????????
?
关于web.config文件...偶好久没有看了...忘得差不多了。???对于网友的提问暂时无法回答。抱歉。
以下是我的?web.config文件 希望对大家有些帮助
?
<?xmlversion="1.0"?>
<!--
??? 注意:除了手动编辑此文件以外,您还可以使用
??? Web管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
????“网站”->“Asp.Net 配置”选项。
???设置和注释的完整列表在
???machine.config.comments 中,该文件通常位于
???\Windows\Microsoft.Net\Framework\v2.x\Config中?
-->
<configuration>
?<appSettings/>
?<connectionStrings>
??<addname="webDBConnectionString" connectionString="DataSource=.;Initial Catalog=webDB;User ID=sa;Password=123"providerName="System.Data.SqlClient"/>
?</connectionStrings>
?<system.web>
??<!--
???????????设置 compilation debug="true" 将调试符号插入
???????????已编译的页面中。但由于这会
???????????影响性能,因此只在开发过程中将此值
???????????设置为 true。
???????-->
??<compilationdebug="true">
???<assemblies>
????<addassembly="System.Drawing.Design, Version=2.0.0.0, Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A"/>
????<addassembly="System.Design, Version=2.0.0.0, Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation>
??<!--
???????????通过 <authentication> 节可以配置 ASP.NET使用的
???????????安全身份验证模式,
???????????以标识传入的用户。
???????-->
??<authenticationmode="Windows"/>
???<!--
???????????如果在执行请求的过程中出现未处理的错误,
???????????则通过 <customErrors>节可以配置相应的处理步骤。具体说来,
???????????开发人员通过该节可以配置
???????????要显示的 html 错误页
???????????以代替错误堆栈跟踪。-->
??????<customErrors mode="RemoteOnly"defaultRedirect="GenericErrorPage.htm">
???????????<error statusCode="403" redirect="NoAccess.htm"/>
???????????<error statusCode="404" redirect="FileNotFound.htm"/>
???????</customErrors>
??????
???<httpRuntime executionTimeout="300"maxRequestLength="1024000"useFullyQualifiedRedirectUrl="false"/>
?<!--??<globalization requestEncoding="gb2312"responseEncoding="gb2312"/> -->
?</system.web>
</configuration>