数据库之资源释放
昨天碰到一个问题,当多次访问如下代码后,数据库(ORACLE)提示游标链接数已经达到最大
OleDbDataReader datar=cmd.ExecuteReader();
datar.Read();
datar.close();
DataReader我已经关闭了,到底是什么资源没有释放呢。
后来,我把程序改为OleDbDataReader datar=cmd.ExecuteReader();
using(cmd)
{
datar.Read();
datar.close();
}一切OK。
看来后台数据库,可能以游标形式返回的,当DataReader关闭之后,游标并没有释放,那么 datar.close();到底做了些什么?
OleDbDataReader datar=cmd.ExecuteReader();
datar.Read();
datar.close();
DataReader我已经关闭了,到底是什么资源没有释放呢。
后来,我把程序改为OleDbDataReader datar=cmd.ExecuteReader();
using(cmd)
{
datar.Read();
datar.close();
}一切OK。
看来后台数据库,可能以游标形式返回的,当DataReader关闭之后,游标并没有释放,那么 datar.close();到底做了些什么?