Как получить большие данные из базы данных Oracle с помощью C #? - PullRequest
0 голосов
/ 11 января 2011

Я пытаюсь получить большой объем данных из базы данных Oracle в .NET. Я использую .NET DBDataReader, которая отлично работает с небольшим объемом данных, но когда данные становятся средними или большими, они перестают работать, и я понятия не имею, почему. Как я могу получить большой объем данных?

Ответы [ 2 ]

0 голосов
/ 11 января 2011

Хорошо, поскольку вы ожидаете ответов, связанных с вашим вопросом, с очень небольшим количеством информации, ответы на них помогут ДРУГИЕ ответить на ваш вопрос:

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();
  }
}
0 голосов
/ 11 января 2011

Вы должны попробовать использовать ODP.NET .Это Oracle Data Provider, написанный для .NET, и он гораздо лучше оптимизирован для связи с базами данных Oracle.

Microsoft устарел Oracle Client (System.Data.OracleClient) (http://blogs.msdn.com/adonet/archive/2009/06/15/system-data-oracleclient-update.aspx) и рекомендовал использовать третье лицо).tools.

РЕДАКТИРОВАНИЕ:

Маби, взгляните на этот похожий вопрос и ответ: Проблемы с большой производительностью с Oracle DataReader в .Net

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...