通过局域网向服务器的sql数据库实时写记录,发现有时候会出现连不上数据库的情况,这种情况又会影响到客户机的运行(连接数据库要耗时),怎样能够实时检测与服务器数据库的连接情况?

解决方案 »

  1.   

    写数据时先
    STRSQL="SELECT HOST_NAME()"
    看有没有返值.
      

  2.   


     参考一下,列举网络中的可用服务器.
     
    Private  Sub  GetSqlServer()  
    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  
           cmbServer.AddItem  namX.Item(i)  
       Next  
       cmbServer.ListIndex  =  0  
     
    End  Sub  
     
    ---------------------------------------------------------------  
     
    安装  MS  SQL  Server  server/client  
    引用  Microsoft  SQLDMO  Object  Library  
     
    'CODE  
    Option  Explicit  
     
    Private  Sub  Command1_Click()  
    On  Error  GoTo  Err1  
           Dim  dmoObj  As  New  SQLDMO.Application  
           Dim  I  As  Long  
       
           For  I  =  1  To  dmoObj.ListAvailableSQLServers.Count  
                 List1.AddItem  dmoObj.ListAvailableSQLServers.Item(I)  
           Next  
    Err1:  
    End  Sub 
      

  3.   

    如果是SQL Server服务器的话,就开一个WinSockt控件,连接1433端口,可以在3秒中知道是否连接通
      

  4.   

    楼上的朋友!请说详细点   好么?
    我这样想:
    在一个timer事件里面连接数据库
    ...
      

  5.   

    Private Sub Command1_Click()
       Winsock1.RemotePort = 1433
       Winsock1.RemoteHost = "SM001"
       Winsock1.Connect
    End SubPrivate Sub Winsock1_Connect()
           MsgBox "SQLSERVER正常"
    End Sub
      

  6.   

    你在防火墙中也可以看得到这个端口,你也可以试试SQLSERVER打开的其它侦听端口..