设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 5016|回复: 10
打印 上一主题 下一主题

如何解决ADP超时的问题?

[复制链接]
跳转到指定楼层
1#
发表于 2010-11-19 10:32:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何解决ADP超时的问题?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2010-11-19 11:14:51 | 只看该作者
将超时 timeout 时间设置长一点
但如果网络不行或用户多 数据量大的话,还是可能出现这种情况. 最好是大量数据计算 使用存储过程.只返回结果
3#
 楼主| 发表于 2010-11-20 00:16:28 | 只看该作者
[ 本帖最后由 yodong 于 2010-11-20 00:17 编辑 ]

sqlconn = "SQLOLEDB.1ASSWORD=" & password1 & "ERSIST SECURITY INFO=FALSE;USER ID=" & sa1 & ";INITIAL CATALOG=" & data1 & ";DATA SOURCE=" & source1 & ";Connect Timeout=300;Network Library=dbmssocn"

    Dim sConnectionString As String
   
        sConnectionString = "Provider=" & sqlconn
        Application.CurrentProject.OpenConnection sConnectionString
是这样设置吗?

点击这里给我发消息

4#
发表于 2010-11-20 13:52:44 | 只看该作者
tmtony 发表于 2010-11-19 11:14
将超时 timeout 时间设置长一点
但如果网络不行或用户多 数据量大的话,还是可能出现这种情况. 最好是大量数 ...

使用存储过程也可能会超时,呵呵。我就碰到过这个问题。呵呵。不过不是在ADP中。
5#
 楼主| 发表于 2010-11-20 23:59:58 | 只看该作者
怎么解决?

点击这里给我发消息

6#
发表于 2010-11-21 19:03:38 | 只看该作者
cmd.CommandTimeout = 0
7#
 楼主| 发表于 2010-12-1 16:35:42 | 只看该作者

在ADP中如何用VBA代码设置"连接超时设定这个值.请教?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
8#
 楼主| 发表于 2010-12-1 16:57:32 | 只看该作者
我的ADP在每次打开的时候是用下面的代码连接到数据库的.
sqlconn = "SQLOLEDB.1ASSWORD=" & password1 & "ERSIST SECURITY INFO=FALSE;USER ID=" & sa1 & ";INITIAL CATALOG=" & data1 & ";DATA SOURCE=" & source1 & ";Connect Timeout=0;Network Library=dbmssocn"
    Dim sConnectionString As String
    sConnectionString = "Provider=" & sqlconn
    Application.CurrentProject.OpenConnection sConnectionString
==============================================
完后,我在里面执行存诸过程方法是:
Dim cn As ADODB.Connection
Set cn = CurrentProject.Connection
cn.Execute "xs_pro月结删除明细帐 " & nd & "," & m
因为数据比较多,总是超时.如何解决?请教大家.

9#
 楼主| 发表于 2010-12-1 19:03:34 | 只看该作者
'解决超时
Public Function selext(ByVal TmpSQLstmt As String)
On Error GoTo aa
    Dim cmd As New ADODB.Command
    Dim Cnn As New ADODB.Connection
    cmd.CommandTimeout = 0
    Set Cnn = CurrentProject.Connection
    Set cmd.ActiveConnection = Cnn
    'cmd.CommandType = adCmdStoredProc
    cmd.CommandText = TmpSQLstmt
    'MsgBox "Timeout on Connection: " & Cnn.CommandTimeout
    'MsgBox "Timeout on Command:  " & cmd.CommandTimeout 'Debug.Print
    cmd.Execute
    Set cmd = Nothing
    Cnn.Close
    Set Cnn = Nothing
    '================
bb:
Exit Function
aa:
MsgBox Err.Description, vbInformation, sysstr
Resume bb
End Function
'================
暂时这样解决.到现在为止还没有出现提示.
朋友们还有其它的方法吗?

点击这里给我发消息

10#
发表于 2010-12-1 21:09:31 | 只看该作者
呵呵,厉害
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-17 04:37 , Processed in 0.088959 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表