问题是这样的,操作infoplus21数据库,Connect以后,对多条标签进行操作,在执行部分操作后会出现No free cursor问题,对每条标签操作一次Connect一次再DisConnect就不存在这个问题

解决方案 »

  1.   

    to 操作infoplus21数据库,Connect以后,对多条标签进行操作,在执行部分操作后会出现No free cursor问题,对每条标签操作一次Connect一次再DisConnect就不存在这个问题如果使用类似于dbcommand之类的对象,最好在使用完后显式调用其的Dispose方法来关闭。
      

  2.   

    to 能讲下其内部机制么?我想知道是以怎样的方式对数据库进行操作的我对infoplus21数据库来说不是很了解。但是对于一般的数据库操作来说,一个connection的资源是有限的,例如在sqlserver中一个connection同时只能支持一个command操作。
    因此用一个connection来操作数据库的时候,command用完后就需要立刻关闭它,方便下次使用。
      

  3.   

    我做过这样的测试,对一般的数据库,我用一个connection连续进行10W条操作,并没有报错,但是同样的,对IP21进行操作时会有这样的错误,所以我想是不是不同数据库内部机制不同,所以我想了解下一般的command操作是如何操作数据库的,比如说是否和游标有关等等,我在网上查了一些资料,没能找到需要的,^_^。
    P.S:我在对每次command操作过后Dispose了,但是问题仍然存在,现在我所能解决的方法只有是关闭连接重新连接,但是这样效率很低,每次连接数据库的时间要比操作数据库的时间高一个数量级,平均达到1.7s(这里花费时间较长有远程连接数据源的问题)。