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 在程序关闭时再关掉连接。 这样的语句会占用回滚段吗,会导致事务不被释放吗?
程序中代码大至是:
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 在程序关闭时再关掉连接。 这样的语句会占用回滚段吗,会导致事务不被释放吗?
连接不上的错误信息是什么?
产生了大量的session
结合v$session视图,检查一下程序