我使用ODBC方式连接数据库,导出数据。使用CDatabase打开一个数据库连接,我在以后的程序一直在使用这个数据库连接,在导出少量数据的时候很顺利,但是在导出大量数据的时候时间很长,执行过一段时间以后,CRecordset的Open函数就会抛出异常,我跟踪代码是在void CRecordset::PrepareAndExecute()中抛出的一个异常,原因是其中的一个变量nRetCode为经过一段代码的执行由0编成的-1。 我不知道产生这个问题的原因是什么,是时间的问题吗? 但是我试过不同的数据源这个出错的时间还不一样,有的十几秒就出错了,有的都导出二十多分钟才出错。而且在出错的地方,那个数据库连接使用IsOpen()判断还是返回值是正常的。真不明白是怎么回事,请大家帮助讲解一下。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货