C#OracleDataAdapter访问数据库的替代方案
我有其他人的C#代码从数据库中检索数据,如下所示:C#OracleDataAdapter访问数据库的替代方案,c#,oracle,datatable,C#,Oracle,Datatable,我有其他人的C#代码从数据库中检索数据,如下所示: using (OracleConnection conn = new OracleConnection(connStr)) { conn.Open(); DataTable dTable = new DataTable(); using (OracleDataAdapter adapter = new OracleDataAdapte
using (OracleConnection conn = new OracleConnection(connStr))
{
conn.Open();
DataTable dTable = new DataTable();
using (OracleDataAdapter adapter = new OracleDataAdapter(sql, conn))
{
adapter.Fill(dTable);
}
}
我对代码有两个顾虑
换言之,我正在寻找上述OracleDataAdapter/DataTable组合的替代方案,类似于Java中的旧但好的JDBC东西。我确信C语言中一定存在类似的东西,但我对C语言还很陌生,所以请有人给我一个指南或代码片段让我开始吧。任何运行20/30分钟的查询都有严重的问题。首先,我将查看您试图加载的内容,并检查是否可以对数据使用某些分页。对于执行时间,可能有很多原因,而且您尚未发布查询,因此很难判断。但一个很可能的原因是缺乏指数。至于DataAdapter/DataTable的替代方案,是的,但这完全取决于您如何使用结果。如果DataTable很大,则可能是内存不足错误。如果查询的结果集很大,则应该考虑分页。正如其他人所提到的,您可能也想检查查询的性能。有一些限制限制限制了我的手脚:我不能在SQL移交给我时更改它;我不能给它编制索引,因为我的理解是它会让DBA参与进来,这是不可能的。顺便问一下,我该如何分页?类似于使用SQL子句“rownum>10和rownum