我们数据库不是狠高级,而且我调用数据量比较大,运行时间比较长,要10来分钟,请问在什么地方能修改下默认时间,我的VB之运行3-4分钟就报时间超时了。谢谢啊

解决方案 »

  1.   

    我们数据库不是狠(多狠,@_@)高级,而且我调用数据量比较大,运行时间比较长,要10来分钟(天气预报,@_@),请问在什么地方能修改下默认时间,我的VB之运行3-4分钟就报时间超时了你访问数据库的方式是不是ADO?
    如果是,试试如下的数据库连接方式
        cn.ConnectionTimeout = 60       ’连接时间,如果超时可以调整的长一些,单位是秒
        cn.Provider = "sqloledb"
        cn.Properties("Data Source").Value = sServerName
        cn.Properties("Initial Catalog").Value = sDatabaseName
        cn.Properties("User ID").Value = sUserName
        cn.Properties("Password").Value = sPassword    cn.Open
    其实最好把你的复杂应用作成存储过程在Server端运行,或者在客户端作一些优化
      

  2.   

    你用什么方式连接的数据库!?
    如果是ADO,可以用cn.ConnectionTimeout = 0 (不超时!)
      

  3.   

    Set cn = New ADODB.Connection
    cn.CursorLocation = adUseClient
     cn.Open "Provider=SQLOLEDB.1;Data Source=10.25.9.23;User ID=sa;Password=;Initial Catalog=prddta"
     Set rs = New ADODB.Recordset
    我的连接方法啊
      

  4.   

    这就是ado了
    cn.ConnectionTimeout=20
      

  5.   

    ConnectionTimeout是连接超时的时间设置。
    CommandTimeout是运行超时的时间设置。在你的代码中添加这两个超时的设置就行了:Set cn = New ADODB.Connection
    cn.CursorLocation = adUseClientcn.ConnectionTimeout=0    '设置为0,永不超时
    cn.CommandTimeout=0 cn.Open "Provider=SQLOLEDB.1;Data Source=10.25.9.23;User ID=sa;Password=;Initial Catalog=prddta"
     Set rs = New ADODB.Recordset