Лучший способ обрабатывать импорт плоских файлов в SQL Server с помощью C # .Net

  • Я написал консольное приложение, которое читает список плоских файлов
  • и проанализировать тип данных по строкам
  • и вставляет записи одну за другой в соответствующие таблицы.

есть несколько плоских файлов, которые содержат около 63 тыс. записей (строк). для таких файлов моей программе требуется около 6 часов для завершения одного файла из 63 тыс. записей.

Это файл тестовых данных. На производстве мне приходится иметь дело с нагрузкой в ​​100 раз больше.

Я волнуюсь, смогу ли я сделать это лучше, чтобы ускориться.

Кто-нибудь может предложить лучший способ справиться с этой работой?

Рабочий процесс выглядит следующим образом:

  1. Прочтите FlatFile с локального компьютера, используя File.ReadAllLines("location")
  2. Создайте объект Record Entity после анализа каждого поля строки.
  3. Вставьте эту текущую строку в Entity

Цель сделать это консольным приложением. Это приложение должно запускаться (запланированное приложение) еженедельно, и в нем есть условная логика, на основе некоторой переменной будет

  • полная таблица заменить или
  • обновить существующую таблицу или
  • удалить записи в таблице.

person HaBo    schedule 07.05.2012    source источник
comment
Что ж, у меня это работает так: stackoverflow.com/questions/11084964/   -  person HaBo    schedule 20.06.2012


Ответы (1)


Вы можете попробовать использовать операцию «массовая вставка» для вставки больших объемов данных. в базу данных.

person Irdis    schedule 07.05.2012
comment
это не поможет, мне нужно, чтобы это было консольное приложение, которое я могу запланировать для еженедельного процесса. - person HaBo; 17.05.2012
comment
так в чем проблема? вы можете создать SqlConnection и выполнить SqlCommand непосредственно в консольном приложении .net. - person Irdis; 19.05.2012
comment
Я принимаю ваш ответ, так как сделал что-то похожее на ваше предложение. (SQLBulkCopy) - person HaBo; 22.06.2012