Копирование больших объемов данных в базу данных SQL CE

StackOverflow https://stackoverflow.com/questions/884534

Вопрос

Если у меня в памяти большой объем данных, как лучше всего скопировать его в таблицу SQL CE?Текущий стек технологий — C#, ADO.net и SQL CE.

Моя первоначальная идея заключалась в том, чтобы выполнить один оператор INSERT для каждой строки данных, но это отнимает много времени.Есть ли более простой способ?

Это было полезно?

Решение

Первое, что пришло мне в голову, — это выполнить синхронизацию/объединение с базой данных рабочего стола или сервера, хотя это не похоже на то, что это действительно соответствует вашим потребностям.Итак, вот моя вторая мысль:

МАССОВАЯ ВСТАВКА имя_таблицы ИЗ файла_данных

Я не уверен, поддерживается ли он в вашей версии SQL CE (хотя, насколько я могу судить на страницах MSDN, он поддерживается в версии 3.5 SP1). http://msdn.microsoft.com/en-us/library/ms188365.aspx

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

Другие советы

У Стива Ласкера отличный пример кода демонстрация этого разными методами, но лучший метод (безусловно) - SqlCeResultSet.

Вот сообщение в блоге от Стива с некоторыми хорошими PowerPoint по этой теме.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top