Oralce查询,数据多一点的情况下发生一下错误:
ERROR System.InvalidOperationException: 无效的操作。OracleDataReader 已关闭。
在 System.Data.OracleClient.OracleDataReader.AssertReaderIsOpen()
在 System.Data.OracleClient.OracleDataReader.GetValues(Object[] values)
在 System.Data.ProviderBase.DataReaderContainer.CommonLanguageSubsetDataReader.GetValues(Object[] values)
在 System.Data.ProviderBase.SchemaMapping.LoadDataRow()
在 System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping)
在 System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
在 System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
在 Util.DBHelper.Oracle.DbObject.Query(String SQLString)
分析原因是读取超时,经过努力后,最终解决方案是:
using (OracleConnection connection = new OracleConnection(connStr))
{
//执行操作
}
这样就好了。在此记录~~小坑别老踩——容易折!