我有一个记录集,它运行一个查询:
rs.Open "SELECT * FROM Update",objConnection.ActiveCon
Do While Not rs.EOF
'More logic here.
loop
rs.close
今天的查询结果比正常情况大得多,即 150 万行(而不是正常情况,大约 100000 行)。当记录集尝试打开时出现错误,即“对象已打开”。这是什么意思?我研究过了,我能找到的唯一解释是记录集太大,在较低的抽象级别出现错误(因为结果太多)。这个对吗?
更新 03/06/2012 15:31 首先,我在这里发现了一个类似的问题:http ://www.simple-talk.com/community/forums/thread/59059.aspx 。回答者引用以下内容:
我自己从未经历过,但我认为它通常发生在您并行运行多个数据流时,这些数据流在同一个表上进行了查找重新同步一行时发生错误,但至少有一行已成功重新同步。该错误指的是它试图打开的存储对象已经打开(因为,可能两个查找共享相同的缓冲区)。”
他的意思是:“并行运行多个数据流,在同一张表上进行查找”。他是指更新同一张表的两个不同进程吗?
其次,如果Windows进程的大小有限制,我会徘徊。如果超出限制,则会出现错误?