我用ado连接局域网内的数据库服务器,我的数据需要两分钟传一次,刚连上时能够正常存储数据,但是过一段时间后,就会报错:『Microsoft][ODBC SQL Server Driver』-2147467259 超时已过期,但是下一次发送时,可能又能连上了,不知是什么原因。
    Dim CnnStr As String
    Dim Cnn As ADODB.Connection
    CnnStr = "Driver={SQL Server};" & _
              "Server=192.168.74.12;" & _
              "UID=sa;PWD=lkhg888;" & _
              "Database=CLCS_ETSH"
        
    Set Cnn = New ADODB.Connection
    Cnn.Open CnnStr

解决方案 »

  1.   


        Dim CnnStr As String
        Dim Cnn As ADODB.Connection
        Cnn.CommandTimeout =2000   '加這一行,設置運行時間也可以設置更長    CnnStr = "Driver={SQL Server};" & _
                  "Server=192.168.74.12;" & _
                  "UID=sa;PWD=lkhg888;" & _
                  "Database=CLCS_ETSH"
            
        Set Cnn = New ADODB.Connection
        Cnn.Open CnnStr
      

  2.   

    你在isqlw中间连接的时间长不长?先测试这个。如果这个时间连接得长,那就是SQLServer出的问题
      

  3.   

    应该是SQL SERVER中的设置吧
      

  4.   

    看你批次處理數據得量大不大,如果很大也會造成超时已过期
    使用存储过程,尽量在服务器端运行。 
    尽量优化你的SQL语句,
    Cnn.CommandTimeout = 0   '沒有時間限制