最近做的一个项目,是从VB升级到VB.NET的代码,所以,数据库操作使用的是相对较老的方式OO4O (Oracle Objects for OLE)。其中,在较大的一个外部循环中调用一个函数,在该函数中执行了一个SQL查询,但是该外部循环执行到二百多次的时候出现了“ORA-01000:超出最多允许打开的游标数”的错误。查看代码,打开的RecordSet也已经关闭了,不知道问题出在什么地方。最后,在关闭RecordSet的地方添加了GC.Collect调用,问题解决。