VB中的SELECT语句访问ORACLE数据库会占用回滚段吗?我的一个程序中用VB的ADO访问一个OARCLE数据库,对这个数据库只用到SELECT语句取信息,无增删动作,这个程序被很多用户使用,一段时间后程序无法再访问这个ORACLE数据库,数据库管理员说因为这个VB程序提交了许多事务一直未释放,导致回滚段未释放所致。
   程序中代码大至是:
   Public Conn as new adodb.connection
   Conn.provider="MSDAORA"
   strconnect="provider=msdaora.1;data souce= ........
   Conn.open strconnect
  ......................
   
   strsql="select * from ...............
   Dim Rs as new adodb.recordset
   Rs.Cursorlocation=aduseclient
   Rs.open strsql ,Conn,adopenkeyset
   ........
   set Rs=Nothing   在程序关闭时再关掉连接。   这样的语句会占用回滚段吗,会导致事务不被释放吗?

解决方案 »

  1.   

    select 不使用回滚段
    连接不上的错误信息是什么?
      

  2.   

    错误提示几次的不一样,连接不上后过一段时间比如半个小时,又能连接上去了,我不知是否VB的ADO这种方式自己会产生什么提交性的事务。我的代码不知是否有问题.
      

  3.   

    有可能没有关掉连接
    产生了大量的session
    结合v$session视图,检查一下程序