问题:
前段时间将VBS脚本中的ADO游标改成客户端游标, 执行起来发生问题,从数据库取数据写文件,写到160万左右,不停的重复写同一条记录写了若干个文件,连续几天都是如此, 检查过写文件源码,没有问题,猜想可能是内存泄漏导致的.
上次我把conn.CursorLocation = adUseServer, 结果执行存储过程就取不到数据了.
从网上找来的游标理解:
简单理解就是结果集保存的位置,对于客户端游标,结果集将会被吓载到本地,这样对于大数据量查询,会导致网络资源的严重占用,而服务器端游标直接将结果集保存到服务器上,可以大大提高页面的处理速度,但一般都不太使用后者(需要配置,而且涉及到安全方面的问题)
服务器端游标将结果集放在服务器的缓冲区内,客户端游标将结果集放在客户机的缓冲区内.
如果在你取到记录集以后,有人修改了数据库里的数据,使用服务器端游标加上动态游标就可以得到最新的数据,这时如果是客户端游标就无法察觉到数据的变化。要根据实际情况来使用。如果你的系统对数据要求即时性较高则可用服务器端游标,反之则使用客户端游标,提高程序性能。使用服务器端游标也可以调用存储过程的,只不过他无法返回记录条数(recordcount)要使用客户端游标就可以了。