[英]How to retrieve large data from Oracle database using C#?
我正在嘗試從.NET中的Oracle數據庫檢索大量數據。 我正在使用.NET DBDataReader
,它可以處理少量數據,但是當數據變大或變大時它將停止運行,我也不知道為什么。 我如何檢索大量數據?
您應該嘗試使用ODP.NET 。 那是為.NET編寫的Oracle數據提供程序,為與Oracle數據庫的通信進行了更好的優化。
Microsoft不推薦使用Oracle Client(System.Data.OracleClient)( http://blogs.msdn.com/adonet/archive/2009/06/15/system-data-oracleclient-update.aspx ),建議使用第三手工具。
編輯:
Maby您應該看看這個類似的問題和答案: .Net中Oracle DataReader的重大性能問題
好的,由於您希望獲得與問題相關的答案的信息很少,因此回答這些問題將有助於其他人回答您的問題:
1-您在數據庫中的數據類型是什么
2-您如何嘗試獲取數據(某些代碼會很有幫助)
3-是否有索引,表有多大,查詢有多復雜,您是否嘗試過對其進行優化? 嘗試編寫查詢。
...
好的,這是您可以嘗試告訴我們的內容是否有所改變的方法...
static void DownloadBlob(OracleConnection myConnection)
{
OracleCommand myCommand = new OracleCommand("SELECT * FROM table", myConnection);
myConnection.Open();
OracleDataReader myReader = myCommand.ExecuteReader(System.Data.CommandBehavior.Default);
try
{
while (myReader.Read())
{
//Obtain OracleLob directly from OracleDataReader
OracleLob myLob = myReader.GetOracleLob(myReader.GetOrdinal("Ordinal"));
if (!myLob.IsNull)
{
// I hope it is BLOB :)
}
}
}
finally
{
myReader.Close();
myConnection.Close();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.