powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Импорт большого массива данных в БД
4 сообщений из 4, страница 1 из 1
Импорт большого массива данных в БД
    #37127542
Philip S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день уважаемые форумчане!
У меня возник следующий вопрос. Но сначала опишу исходные данные.

Имеется файл Excel - 100 столбцов, несколько десятков тысяч строк.
Он с помощью OleDb загружается в DataTable.
Имеется на MS SQL Server БД, в которой содержится 6 таблиц. Структура в принципе не очень важна, но могу дать, если надо.

Требуется импортировать все данные из одной DataTable в 6 таблиц на MSSQL.
При этом, например, если в таблице Продуктов, ранее отсутствовал продукт N, его необходимо создать, а в основную таблицу (Заказов) в столбец Продукт_ИД добавить соответственно ИД созданного, или имеющегося ранее в БД продукта.

Если делать данную операцию с помощью стандартных "Insert INTO" и вставлять построчно, время выполнения весьма велико.

Вопрос в том, как эту операцию можно провести максимально быстро?

п.с. Опыта работы с БД ранее практически не имел, поэтому если не очень сложно, буду рад услышать максимально развернутые советы

Заранее спасибо!
...
Рейтинг: 0 / 0
Импорт большого массива данных в БД
    #37127618
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Philip S,

Курите тут .
...
Рейтинг: 0 / 0
Импорт большого массива данных в БД
    #37129168
Philip S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SolYUtor,

Спасибо за ответ, но это немного не то, что мне нужно!
Так как в БД требуется заливать проверенную информацию, то при загрузке Excel файла, он заносится в DataTable.
В DataTable производится серия проверок правильности и ненужные строки удаляются из DataTable.

И уже проверенный массив данных, содержащийся в DataTable требуется отправить в БД. Желательно максимально быстро :)

Как лучше поступить в таком случае?
...
Рейтинг: 0 / 0
Импорт большого массива данных в БД
    #37134895
Gluck_13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Philip S,

Создай DataReader, читающий получившийся DataTable, и скорми его SqlBulkCopy. Можно сначала во временную таблицу, которую потом растащить по таблицам БД посредством SQL.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Импорт большого массива данных в БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]