Вставить данные из DataTable в таблицу базы данных - PullRequest
2 голосов
/ 12 августа 2011

Какой самый простой и эффективный способ вставить данные из DataTable в таблицу базы данных SQL Server?Для чего бы это ни стоило, DataTable и таблица базы данных имеют совпадающие столбцы.

То, что я делаю, - это перенос данных из одной базы данных в другую (отдельные экземпляры, поэтому я буду использовать свое приложение в качестве промежуточного "получателя /отправитель данных).Я легко могу заполнить DataTable с помощью вызова SqlDataAdapater.Fill () из исходной таблицы базы данных.Но я пытаюсь найти наиболее эффективный способ отправки данных этого DataTable в окончательную таблицу базы данных назначения.

Любые предложения / советы / мнения очень ценятся.

РЕДАКТИРОВАТЬ:таблица базы данных назначения уже существует.

1 Ответ

6 голосов
/ 12 августа 2011

Вы должны взглянуть на SqlBulkCopy класс , в частности на перегрузку метода WriteToServer, который принимает DataTable в качестве параметра .

Если вы хотите повысить эффективность даже на * , и у вас нет необходимости материализовать всю таблицу в DataSet (или вы можете обрабатывать содержимое по мере их перемещения вперед)-подключить), затем используйте перегрузку WriteToServer, которая потребует IDataReader выполнения запроса с использованием метода ExecuteReader в SqlCommand классе вместо использованияSqlDataAdapter для загрузки всей таблицы в память.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...