превзойти оракула БД с использованием VS 2005 C # - PullRequest
4 голосов
/ 23 января 2010

Я хочу создать утилиту, которая может импортировать данные из таблицы Excel (столбцы фиксированы, но листов может быть любое число) в Oracle db. Можете ли вы предложить, как я должен:

  1. Чтение листов Excel (номер n)? (Лучший способ)
  2. Проверить данные?
  3. Массовая вставка в БД?

Меня беспокоит производительность здесь. Каждый лист может иметь более 200 000 строк.

PS - пожалуйста, помните, что я новичок в оракуле.

Ответы [ 5 ]

1 голос
/ 03 июня 2010

Вы можете использовать Microsoft Integration Services и загружать файлы вместе с ним

Другой способ - преобразовать листы Excel в cvs и загрузить их через Oracle Loader

http://www.orafaq.com/wiki/SQL*Loader_FAQ

0 голосов
/ 28 февраля 2010

Посмотрите на этот вопрос в StackOverflow:

Создание файла Excel (.XLS и .XLSX) из C #

Я думаю, что вы можете открыть свою книгу иобрабатывать его данные, выполнять проверку и т. д. Затем вы можете использовать стандартные вставки SQL для вставки данных в базу данных Oracle.Это становится проще, когда вы используете NPOI.

Производительность может не быть проблемой, если у вас есть быстрый процессор и оперативная память.

В следующем посте показано, как открыть рабочую книгу и обработать данные с помощьюприложение ASP.NET MVC:

Создание электронных таблиц Excel .XLS и .XLSX в C #

0 голосов
/ 24 января 2010

Можно напрямую подключиться к базе данных Oracle из Excel, используя драйвер ODBC.

В зависимости от сложности ваших манипуляций с данными, вы можете использовать VBA или .Net Office Interops.

Разработка Office с помощью Visual Studio

0 голосов
/ 25 января 2010

Если вы просто хотите загрузить данные очень быстро. Вы могли бы рассмотреть экспорт электронной таблицы в CSV. Затем смонтируйте его в своей базе данных как внешнюю таблицу.

Затем вы можете использовать PL / SQL для запроса и проверки данных перед вставкой в ​​ваши основные таблицы.

0 голосов
/ 24 января 2010

SpreadsheetGear for .NET - это совместимый с Excel компонент электронной таблицы, который прост в использовании из C # и позволит вам получать необработанные неформатированные данные из ячеек или форматированный текст каждой ячейки.

Вы можете посмотреть живые образцы здесь и загрузить бесплатную пробную версию здесь .

Отказ от ответственности: я владею SpreadsheetGear LLC

...