请问在ASP.NET或ASP里怎样判断SQLSERVER数据库服务是否启动!请写完整点。

解决方案 »

  1.   

    用 try catch 或 on error resume next之类的语句去把connection对象open一下就知道了.
      

  2.   

    string cnstr="server=(local);database=x;uid=x;pwd=x;";
    SqlConnection cn=new SqlConnection(cnstr);
    try
    {
       cn.Open();
       cn.Close();
       //提示服务是启动的,并且成功连接
    }
    catch
    {
       //提示服务器未启动,或者无权限访问或帐号密码错误
    }上面是c#的写法.
    如果asp的话,用on error... 也是一样的道理.
    当然,这个不能%百的说明SQL是否启动了,只能说明是否成功连上了.但从应用角度来说,要求达到了.
      

  3.   

    为什么要在try后面加一个cn.close;
      

  4.   

    如果你这里是返回一个connection对象给外部用,使用 try catch 只是为了不把错误代码显示给用户,那么不用 cn.Close(),把 cn返回即可. 但这里你仅仅是为了测试能否连上服务器,后面 cn又不用的话,当然是关了.否则连接池中它是存在的.虽然有自动垃圾回收,但要一定时间后.当并发操作多时,你的服务器可能当机.对象没用之后将它释放,这是很基本的习惯.