Чтение объемных данных из excel на языке C#
Привет,
I am working on some migration project where data is exported from Oracle DB to Excel sheets. Extraction tool is different which is able to extract data to Excel around 1 Million also. In extraction tool Oledb Data reader is using which is extracting successfully. Even its extracting more than 1 M data as well in to multiple sheets in the same excel like Sheet1,Sheet2 etc. I need to read the entire excel data and store it in Data table. its working fine for below 6 lac data. But when i am trying to read the data from Excel using OleDb Data Adapter or Data Reader its failing when records exceed 8 Lac and giving error like "System Resources exceeded." My server is free and nothing is running ther and its 64 GB ram as well.
Найдите привязку кода ниже.
пробовал как с адаптером данных, так и с устройством чтения данных.
использование (var cmd = conn.CreateCommand())
{
УМК.CommandText = "SELECT * FROM [" + sheet + "]";
//var adapter = новый OleDbDataAdapter();
//адаптер.Команды selectcommand = ЦМД;
OleDbDataReader reader = cmd.Метода executereader();
если (лист.Содержит(DocSheet))
{
//адаптер.Fill(dtDocExcelData);
dtDocExcelData.Нагрузки(читатель);
Планируются.Как logwrite("нет файлов/документов с целью их обработки в файл :" + inputFilePath + "лист количество строк :" + dtDocExcelData.Строк.Рассчитывать);
}
еще если (лист.Содержит(Файловая Таблица))
{
//адаптер.Fill(dtFileExcelData);
dtFileExcelData.Нагрузки(читатель);
Планируются.Как logwrite("нет файлов/документов с целью их обработки в файл :" + inputFilePath + "лист количество строк :" + dtFileExcelData.Строк.Рассчитывать);
}
//очистка ресурсов
УМК.ResetCommandTimeout();
УМК.Располагать();
читатель.Располагать();
}
visual studio-это версия 2013 года, а код-на языке C#. Версия Excel также является последней в 2016 году (.XLSX).
пожалуйста, проверьте приведенную выше часть кода и дайте мне знать, где она не может загрузить объемные данные из excel. Есть ли другой способ решить эту проблему?
Когда я гуглил его, один из вариантов-обновление патча, но клиент может быть не готов к обновлению патча. Предоставьте мне любые другие альтернативные решения, чтобы преодолеть это. Проект будет жить до конца месяца. UAT - это фаза сбоя. пожалуйста, дайте мне альтернативное решение как можно скорее.
Жду ваших ценных предложений. Заранее спасибо.
С уважением,
Венкат
Что я уже пробовал:
Нужно прочитать объемные данные из Excel в таблицу данных.
CHill60
Почему вы пытаетесь прочитать так много данных в свой DataTable?
venky_CodeProject
Привет,
Я понял, к чему ты клонишь. Но в моем случае я должен разделить данные Excel с родительской папкой и соответствующими записями в качестве дочерних и подготовить для этого XML. XML имеет родительский узел папки, а дочерние узлы имеют документы, связанные с этой папкой.
Поэтому я читаю листы и загружаю данные в таблицу данных. Утилита извлечения работает и извлекает данные из Oracle DB и создает excel с таким количеством данных без каких-либо проблем.
Есть ли какие-либо ограничения для адаптера данных/считывателя Oledb?. Оракул-ридер работает, что основная нагрузка.