Копирование больших объемов данных в базу данных SQL CE - PullRequest
2 голосов
/ 19 мая 2009

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

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

Ответы [ 2 ]

3 голосов
/ 20 мая 2009

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

Вот пост в блоге от Стива с некоторыми хорошими впечатлениями на эту тему.

2 голосов
/ 20 мая 2009

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

BULK INSERT имя_файла FROM data_file

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

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

...