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

被折叠的 条评论
为什么被折叠?



