A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 sunrise2 于 2014-7-16 12:41 编辑

         在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
     说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息:
                   System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)    当出现这个问题时,是不同的数据库版本,地连接方法个一样。
  1. 我以前是用Server=(local)或者是localhost;database=;User ID=sa;Password= 改成了Data Source=.\\SQLEXPRESS;Initial Catalog= ;User ID=sa;Password=
复制代码


    实际操作的时候你只要改一下Server=(local)或者是localhost;为Data Source=.\\SQLEXPRESS就可以了      

  1.开启sql2008远程连接功能,开启办法如下:     

       配置工具->Sql Server配置管理器->Sql Server网络配置->l两种协议中启动,“使用TCP/IP和named pipes”,确定后重启数据库服务就可以了。
      以下部分是转载网友,不过他使用的是SQL2005和VS2005的,因为版本的原因仅供参考

       2.数据库连接字符串      
   数据库连接字符串有好几种,相信你自己也见过,都被搞晕了
  1. Data Source=.\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456
  2.         Data Source=服务器名\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456
  3.         Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456
  4.         Data Server=.;Initial Catalog=Northwind;User ID=sa;Password=sa123456
  5.         Data Source=服务器名;Initial Catalog=Northwind;User ID=sa;Password=sa123456
  6.         ……
复制代码

       到底哪种正确?这跟数据库版本有关系,如果是Sql Server 2005 Express版本,则必须要有“\SQLEXPRESS”。而且如果这个字符串是定义为一个变量的时候,VS2005还会在“\”的下面加个红色的波浪线提示你“\S是无法识别的转义序列”,因此如果字符串是定义为一个变量的时候应该写成Server=.\\SQLEXPRESS    
   3.注册Sql Server数据库       
        在路径“C:\Windows\Microsoft.NET\Framework\v2.0.50727”下运行“ASPNET_REGSQL”指令,就会出现ASP.NET SQL Server Setup Wizard向导,连续按下两个下一步后就会出现Sql Server注册界面,填入你要注册的数据库参数就注册好了。注册完后会在你的数据库里多几个表(如图):
   4.设置数据库连接字符串       
                打开IIS->在默认网站或是网站所在的虚拟目录点击右键选择属性->选择ASP.NET选项卡->编辑配置->在“常规”页签编辑“LocalSqlServer”数据库连接字符串:         Data Server=.\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456         
   5.设置web.config文件       
           在web.config文件添加如下程序: <connectionStrings> <add name="LocalSqlServer" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456" providerName="System.Data.SqlClient"/> </connectionStrings>      
   这样便大功告成了。下面来测试       
  1.宽松的连接测试         宽松的连接测试使用SqlDataSource         VS2005服务器资源管理器选中数据库点击右键->选择修改连接->填入服务器名->使用Sql Server身份验证填入用户名sa及密码sa123456->选择或输入一个数据库名:Northwind->点击测试连接         宽松的连接测试连接成功并不能说明数据库就连接OK了,一开始我就是挂在这里,宽松的连接测试测试连接成功,可是始终无法读出数据库的内容到网页里头。     
    2.严谨的连接测试         在VS2005里选择网站菜单->ASP.NET配置进入ASP.NET网站管理工具->选择提供程序->点击AspNetSqlProvider的测试,若测试成功,说明数据库设置完全正确,否则得从头来过好



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马