即使我重写下面的代码,Oracle连接也没有关闭。我有3种类型的Oracle连接,如DataReader,DataAdapter和Normal。
我犯哪个部分?
类型:1 - Datareader连接
using (OracleConnection con = new OracleConnection(oradb))
{
con.Open();
using (OracleCommand cmd1 = new OracleCommand("select sql_fulltext \"SQL Text\" from gv$sqlarea where rownum<2 and sql_id='" + sqlid + "'", con))
{
OracleDataReader dr1 = cmd1.ExecuteReader();
dr1.Read();
rtbSQLDetails.Text = dr1.GetString(0);
}
}
类型:2个数据适配器连接
using (odagetInstID = new OracleDataAdapter("select distinct INST_ID from gv$instance where status='OPEN'", oradb))
{
odagetInstID.Fill(dtInstID);
}
类型:3个普通连接
using (var con = new OracleConnection(oradb))
{
con.Open();
//...
}