Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / WinForms, .Net Framework |
![]() ![]() |
vah Member Откуда: Сообщений: 2681 |
Скажите пожалуйста, как наиболее быстро можно перегнать данные из List<>() C# в таблицу БД MSSQL? Речь идет от 500000 записей. Заранее благодарен. |
25 фев 21, 14:53 [22286358] Ответить | Цитировать Сообщить модератору |
vb_sub Member Откуда: Сообщений: 874 |
Это одноразовая операция или регулярная? |
25 фев 21, 15:03 [22286366] Ответить | Цитировать Сообщить модератору |
Ролг Хупин Member Откуда: Чебаркуль Сообщений: 4085 |
bulk copy и т.д. |
||||
25 фев 21, 15:08 [22286368] Ответить | Цитировать Сообщить модератору |
vah Member Откуда: Сообщений: 2681 |
vb_sub, Одноразовая |
25 фев 21, 15:08 [22286369] Ответить | Цитировать Сообщить модератору |
vb_sub Member Откуда: Сообщений: 874 |
vah, простой цикл с командой вставки вполне подойдет, если операция одноразовая то нет разницы- она выполняется 5 минут или 1 минуту. |
25 фев 21, 15:16 [22286374] Ответить | Цитировать Сообщить модератору |
Сон Веры Павловны Member Откуда: Сообщений: 6154 |
List перегнать в DataTable, а её с помощью SqlBulkCopy пульнуть на сервер. |
25 фев 21, 16:54 [22286406] Ответить | Цитировать Сообщить модератору |
Roman Mejtes Member Откуда: г. Пермь Сообщений: 4159 |
быстрее всего будет через SqlBulkCopy. лучше делать в 2 этапа, как мне кажется, сперва через SqlBulkCopy загружать во временную таблицу, а потом копировать от туда в целевую таблицу. Цикл со вставкой бред, как мне кажется. |
25 фев 21, 19:16 [22286487] Ответить | Цитировать Сообщить модератору |
vikkiv Member Откуда: EU Сообщений: 2934 |
+1 к выше..Open(); ..SQLBulkCopy(conn); ..DestinationTableName='SQLdest_table'; ..WriteToServer(MyDataTable); //System.Data.DataTable srv.Close(); ..dispose(); |
25 фев 21, 19:19 [22286488] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4642 |
Если операция одноразовая, то не проще ли сохранить спивсок как CSV, а потом руками его залить с помощью bcp.exe? |
25 фев 21, 23:18 [22286592] Ответить | Цитировать Сообщить модератору |
Все форумы / WinForms, .Net Framework | ![]() |