Excel VBA循环访问SQL Server的错误80004005

在使用Excel VBA通过ADO访问SQL Server 2000进行Insert操作时,当在局域网环境中执行循环插入到第66行时,出现错误80004005。怀疑可能是服务器资源耗尽。通过微软支持文档,了解到解决方案是修改ConnectString,添加DB Services= -2选项,从而成功解决了问题。

ExcelADO来访问SQL Server 2000,程序在本地的时候,没有任何问题。但是在一个局域网内,做如下的Insert循环的时候,在n=66时客户端始终出现下面问题,而且修改原是需要插入的数据,总是在n=66时出现。

While (Sheets(1).Cells(n, 1).Value2 <> "" Or Sheets(1).Cells(n, 2).Value2 <> "")

            strSQL = "insert into h_khdj (khbh, khmc) values (" + _

                        "'" + CStr(Sheets(1).Cells(n, 1).Value2) + "'," + _

                        "'" + CStr(Sheets(1).Cells(n, 2).Value2)

            cmdTD.CommandText = strSQL           

             Set rsResult = cmdTD.Execute

             n = n + 1

        Wend

 

       我的直觉是服务器端的什么资源用完了。我朋友的服务器是个很破的机器,因此可以理解。

       后来,通过http://support.microsoft.com/defaul...4&Product=sql2k,通过修改ConnectString,增加DB Services= -2选项即可解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值