http://blog.csdn.net/j2ee_ren/archive/2007/06/26/1666455.aspx
很郁闷,弄了好长时间也没连接上sql,不知道是什么原因:下面是代码先包含命名空间:using System.Data;
using System.Data.SqlClient;再在page_load里写入下面的代码:   string strConn="data source=localhost;Initial Catalog=northwind;User Id=sa;Pwd=mssqlfs;Integrated Security=SSPI";
   SqlConnection sqlConn=new SqlConnection();
   sqlConn.ConnectionString=strConn;
   sqlConn.Open();   Label1.Text="数据源:"+sqlConn.DataSource+"<br>"+
    "数据库:"+sqlConn.Database+"<br>"+
    "当前状态:"+sqlConn.State;   sqlConn.Close();这可是看着书上的例程写的,应该没错了.但是,每次打开都是错误.说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: SQL Server 不存在或访问被拒绝。源错误: 行 30:  SqlConnection sqlConn=new SqlConnection();行 31:  sqlConn.ConnectionString=strConn;行 32:  sqlConn.Open();行 33: 行 34:  Label1.Text="数据源:"+sqlConn.DataSource+"<br>"+
 源文件: e:\developor\ing\vvv\dotnettest\database\sqlconn.aspx.cs    行: 32 堆栈跟踪: [SqlException: SQL Server 不存在或访问被拒绝。]   System.Data.SqlClient.SqlConnection.Open() +761   DotNetTest.database.sqlconn.Page_Load(Object sender, EventArgs e) in e:\developor\ing\vvv\dotnettest\database\sqlconn.aspx.cs:32   System.Web.UI.Control.OnLoad(EventArgs e) +67   System.Web.UI.Control.LoadRecursive() +29   System.Web.UI.Page.ProcessRequestMain() +724
 “/DotNetTest”应用程序中的服务器错误。 
--------------------------------------------------------------------------------SQL Server 不存在或访问被拒绝。 
 
--------------------------------------------------------------------------------版本信息: Microsoft .NET 框架版本:1.0.3705.0; ASP.NET 版本:1.0.3705.0 我的sql是8.0版本的,sql本机服务器的注册属性里,采用的是windows身份验证;安全性里的身份验证是sql server和windows.(这些都是看往山写的,改的.)哎呀,真不知道怎么弄了.大侠帮忙

解决方案 »

  1.   

    1。看下SQL有没有开
    2。看下用户名跟密码是否正确
    3。看下数据库名有没有写错
    4。下面是一个连接SQL 的方法
    //数据库连接字符串(web.config来配置)
    //<appSettings><add key="ConnectionString" value="server=127.0.0.1;database=DATABASE;uid=sa;pwd=;" /> </appSettings>
    protected static string connectionString = ConfigurationSettings.AppSettings["ConnectionString"];
    public DbManagerSQL()
    {
    }

    #region  执行简单SQL语句 /// <summary>
    /// 执行SQL语句,返回影响的记录数
    /// </summary>
    /// <param name="SQLString">SQL语句</param>
    /// <returns>影响的记录数</returns>
    public static int ExecuteSql(string SQLString)
    {
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
    using (SqlCommand cmd = new SqlCommand(SQLString,connection))
    {
    try
    {
    connection.Open();
    int rows = cmd.ExecuteNonQuery();

    return rows;
    }
    catch(System.Data.SqlClient.SqlException E)
    {
    connection.Close();
    throw new Exception(E.Message);
    }
    }
    }
    }
      

  2.   

    楼上正解,主要检查步骤
    1.sqlserver服务器是否打开
    2..net是否能连接ms sql.
    3.检查连接字符串是否正确
      

  3.   

    把Page_Load里的第一行改一下,data source改为server=(local)应该就可以了
      

  4.   

    几种写法:
    server=127.0.0.1
    server=localhost
    sserver=.
    server=(local)
    server=sql server 服务器名称
    我也碰到过,用localhsot不行。换一种就行了
      

  5.   

    server=;Database=;user=;pwd=;
    这是最简单的连接串
    你的错误产生原因,就是数据库名不正确、用户名错误、密码错误、或者数据库引擎没有打开
      

  6.   

    写个try调试一下就知道了吧。看看具体异常是什么。可能是连接字符串不正确吧。
      
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    我的E-Mail:[email protected] 请多指教!
      

  7.   

    大家的意见是对的,我再补充一点:你添加引用了没,你的using System.Data.SqlClient是能自动识别的吧?
      

  8.   

    大家的意见都是正确。不过我还是建议楼主在写连接数据库的时候能加上try{}catch(Exception){throw new Exception(ex.Message);}这代码,方便以后找错误信息。
      

  9.   

    嗯谢谢大家.我试了(local)就可以了,不知道为什么呢,我这书上这样说的.
    Data source或Address或Server:数据源名称,为要连接的Sql server实例的名称,也可以是数据库所在主机的名称或主机的IP地址.若数据库服务器位于本地机器,可将其设置为localhost.这里只能用(local),IP地址(127.0.0.1)或者localhost为什么不可以呢?