如何知道当前sqlserver是否已运行?

解决方案 »

  1.   

    Dim Conn As ADODB.ConnectionPrivate Sub Form_Load()
        Dim errMsg As Boolean
        Set Conn = New ADODB.Connection
        errMsg = True
     On Error GoTo errsv
        Conn.ConnectionString = "Provider=SQLOLEDB.1; Password=nndk; Persist Security Info=True; User ID=sa; Initial Catalog=master; Data Source=ZHD"
        Conn.Open
        errMsg = False
        MsgBox "OK,连接成功"
    errsv:
        If errMsg = True Then                 '判断数据库服务器能否使用
            MsgBox "请确定服务器,及登陆服务器的用户名、密码正确,并且服务器已开启", vbExclamation, "登陆错误"
            Exit Sub
        End If
    End Sub
      

  2.   

    利用sqldmo来读取所有在运行的sql数据库名称,然后进行比较
    '变量s是你想知道的sqlserver的名称
    Private  function  GetSqlServer(S as string) as boolean  
    Getsqlserver=false
    Dim  oSQLServerDMOApp  As  Object  
    Dim  i  As  Integer  
    Dim  namX  As  Object  
       On  Error  Resume  Next  
       Set  oSQLServerDMOApp  =  CreateObject("SQLDMO.Application")  
       Set  namX  =  oSQLServerDMOApp.ListAvailableSQLServers  
       For  i  =  1  To  namX.Count  
           if s=namX.Item(i) then Getsqlserver=true
       Next  
       cmbServer.ListIndex  =  0  
     
    End  Sub  
    使用
    dim Sqlname as string
    dim State as boolean
    sqlname=数据库名称
    state=GetSqlServer(sqlname)
    if state=false then 
        msgbox "数据库没有运行"
    else
        msgbox "数据库在运行"
    end 
      

  3.   

    更正:在函数中去掉cmbServer.ListIndex  =  0