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 データベースを使用すると、同じスキーマのテーブルを持つ 1 分間に 500000 レコードが読み取られます。

ODP.NETを使用してデータをより速く読み取るために何か不足している場合は、助けてください

ありがとうございました。

**

  • 答え:

**

GetClobVal() および GetString Val() 関数を試してみましたが、正常に動作しています。

tableName t から t.RECID, t.XMLRECORD.GetClobVal() を選択"

「tableName x から x.RECID,x.XMLRECORD.getStringVal() を選択」

これらのクエリを oracle コマンドで使用すると、高速に実行されますが、SQL サーバー クエリほど高速ではありません。

4

0 に答える 0