如果你用ADO的话,可以设置连接字符串中的ConnectionTimeout属性
================================================================
共同学习,共同进步
================================================================

解决方案 »

  1.   

    ConnectionTimeout 属性 (ADO)
             指示在终止尝试和产生错误前建立连接期间所等待的时间。设置和返回值设置或返回指示等待连接打开的时间的长整型值(单位为秒)。默认值为 15。说明如果由于网络拥塞或服务器负载过重导致的延迟使得必须放弃连接尝试时,请使用 Connection 对象的 ConnectionTimeout 属性。如果打开连接前所经过的时间超过 ConnectionTimeout 属性上设置的时间,将产生错误,并且 ADO 将取消该尝试。如果将该属性设置为零,ADO 将无限等待直到连接打开。请确认正在对其编写代码的提供者会支持 ConnectionTimeout 功能。连接关闭时 ConnectionTimeout 属性为读/写,而打开时其属性为只读。ConnectionString、ConnectionTimeout 和 State 属性范例
    该范例说明了使用 ConnectionString 属性打开 Connection 对象的不同方法。同时还使用 ConnectionTimeout 属性设置连接超时周期,并使用 State 属性检查连接的状态。该过程运行时需要 GetState 函数。Public Sub ConnectionStringX()   Dim cnn1 As ADODB.Connection
       Dim cnn2 As ADODB.Connection
       Dim cnn3 As ADODB.Connection
       Dim cnn4 As ADODB.Connection   ' 不使用数据源名 (DSN) 打开连接。
       Set cnn1 = New ADODB.Connection
       cnn1.ConnectionString = "driver={SQL Server};" & _
          "server=bigsmile;uid=sa;pwd=pwd;database=pubs"
       cnn1.ConnectionTimeout = 30
       cnn1.Open
       
       ' 使用 DSN 和 ODBC 标记打开连接。
       Set cnn2 = New ADODB.Connection
       cnn2.ConnectionString = "DSN=Pubs;UID=sa;PWD=pwd;"
       cnn2.Open
       
       ' 使用 DSN 和 OLE DB 标记打开连接。
       Set cnn3 = New ADODB.Connection
       cnn3.ConnectionString = "Data Source=Pubs;User ID=sa;Password=pwd;"
       cnn3.Open
       
       ' 使用 DSN 和单个参数而非连接字符串打开连接。
       Set cnn4 = New ADODB.Connection
       cnn4.Open "Pubs", "sa", "pwd"
     
       ' 显示连接的状态。
       MsgBox "cnn1 state: " & GetState(cnn1.State) & vbCr & _
          "cnn2 state: " & GetState(cnn2.State) & vbCr & _
          "cnn3 state: " & GetState(cnn3.State) & vbCr & _
          "cnn4 state: " & GetState(cnn4.State)   cnn4.Close
       cnn3.Close
       cnn2.Close
       cnn1.CloseEnd SubPublic Function GetState(intState As Integer) As String   Select Case intState
          Case adStateClosed
             GetState = "adStateClosed"
          Case adStateOpen
             GetState = "adStateOpen"
       End SelectEnd FunctionCommandTimeout 属性 (ADO)
             指示在终止尝试和产生错误之前执行命令期间需等待的时间。设置和返回值设置或返回长整型值,该值指示等待命令执行的时间(单位为秒)。默认值为 30。说明使用 Connection 对象或 Command 上的 CommandTimeout 属性,允许由于网络拥塞或服务器负载过重产生的延迟而取消 Execute 方法调用。如果在 CommandTimeout 属性中设置的时间间隔内没有完成命令执行,将产生错误,然后 ADO 将取消该命令。如果将该属性设置为零,ADO 将无限期等待直到命令执行完毕。请确保正在写入代码的提供者和数据源支持 CommandTimeout 功能。Connection 对象的 CommandTimeout 设置不会对相同 Connection 上 Command 对象的 CommandTimeout 设置产生影响,即 Command 对象的 CommandTimeout 属性不继承 Connection 对象的 CommandTimeout 的值。在 Connection 对象上,打开 Connection 后,CommandTimeout 属性将保持读/写。