次のコードで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 サーバー クエリほど高速ではありません。