我正在使用带有以下代码的 ODP.Net 从 Oracle 数据库中读取数据
OracleConnection con = new OracleConnection(connectionString);
OracleCommand cmd = new OracleCommand( SELECT ID,RECORD(XMLType) FROM tbl_Name, con);
con.Open();
OracleDataReader _dataReader = cmd.ExecuteReader();
while (_dataReader.Read())
{
string rowId = _dataReader[0].ToString();
string xmlString = _dataReader[1].ToString();
adding this data into Queue for further processing
}
它工作正常,但在一分钟内它只能读取 10000 条记录。如果我使用 SqlServer 数据库,它会在分钟内读取 500000 条记录,并且具有相同架构的表。
如果我缺少使用 ODP.NET 更快地读取数据的内容,请帮助我
谢谢你。
**
- 回答:
**
我尝试过使用 GetClobVal() 和 GetString Val() 函数,现在它工作正常。
从表名 t 中选择 t.RECID、t.XMLRECORD.GetClobVal()"
从表名 x 中选择 x.RECID,x.XMLRECORD.getStringVal()"
如果我们将这些查询与 oracle 命令一起使用,它将运行得很快,但不如 sql server 查询快。