Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 List to MSSQL  [new]
vah
Member

Откуда:
Сообщений: 2681
Скажите пожалуйста,
как наиболее быстро можно перегнать данные из List<>() C# в таблицу БД MSSQL?
Речь идет от 500000 записей.

Заранее благодарен.
25 фев 21, 14:53    [22286358]     Ответить | Цитировать Сообщить модератору
 Re: List to MSSQL  [new]
vb_sub
Member

Откуда:
Сообщений: 874
Это одноразовая операция или регулярная?
25 фев 21, 15:03    [22286366]     Ответить | Цитировать Сообщить модератору
 Re: List to MSSQL  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 4085
vah
Скажите пожалуйста,
как наиболее быстро можно перегнать данные из List<>() C# в таблицу БД MSSQL?
Речь идет от 500000 записей.

Заранее благодарен.


bulk copy и т.д.
25 фев 21, 15:08    [22286368]     Ответить | Цитировать Сообщить модератору
 Re: List to MSSQL  [new]
vah
Member

Откуда:
Сообщений: 2681
vb_sub,

Одноразовая
25 фев 21, 15:08    [22286369]     Ответить | Цитировать Сообщить модератору
 Re: List to MSSQL  [new]
vb_sub
Member

Откуда:
Сообщений: 874
vah,
простой цикл с командой вставки вполне подойдет, если операция одноразовая то нет разницы- она выполняется 5 минут или 1 минуту.
25 фев 21, 15:16    [22286374]     Ответить | Цитировать Сообщить модератору
 Re: List to MSSQL  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 6154
List перегнать в DataTable, а её с помощью SqlBulkCopy пульнуть на сервер.
25 фев 21, 16:54    [22286406]     Ответить | Цитировать Сообщить модератору
 Re: List to MSSQL  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 4159
быстрее всего будет через SqlBulkCopy.
лучше делать в 2 этапа, как мне кажется, сперва через SqlBulkCopy загружать во временную таблицу, а потом копировать от туда в целевую таблицу. Цикл со вставкой бред, как мне кажется.
25 фев 21, 19:16    [22286487]     Ответить | Цитировать Сообщить модератору
 Re: List to MSSQL  [new]
vikkiv
Member

Откуда: EU
Сообщений: 2934
+1 к выше

..Open();
..SQLBulkCopy(conn);
..DestinationTableName='SQLdest_table';
..WriteToServer(MyDataTable); //System.Data.DataTable
srv.Close();
..dispose();
25 фев 21, 19:19    [22286488]     Ответить | Цитировать Сообщить модератору
 Re: List to MSSQL  [new]
fkthat
Member

Откуда:
Сообщений: 4642
Если операция одноразовая, то не проще ли сохранить спивсок как CSV, а потом руками его залить с помощью bcp.exe?
25 фев 21, 23:18    [22286592]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить