1

我正在使用带有以下代码的 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 查询快。

4

0 回答 0