Как загрузить данные в базу данных с помощью ADO.NET - PullRequest
1 голос
/ 27 ноября 2009

У меня есть веб-приложение, которое требует взять данные из книги Excel и загрузить их в базу данных. Я использую ADO.NET 2.0 и мне нужно использовать DataSet / DataTable / DataAdapter / и т. Д. выполнить эту задачу.

У нас также есть требование проверять данные перед их загрузкой и информировать пользователя о любых нарушениях ограничений PK / FK / Unique / Other.

В настоящее время мы загружаем данные из Excel в DataTable и переносим данные из базы данных в другую DataTable, объединяем две таблицы и (если все слилось успешно) затем обновляем базу данных.

Могу ли я использовать методы DataTable или DataSet (или другой структуры данных ADO.Net) для проверки ограничений PK / FK / Unique / Other? Каким будет рекомендуемый рабочий процесс для загрузки данных в базу данных с учетом моих требований?

Ответы [ 2 ]

1 голос
/ 28 ноября 2009

То, что вы описываете, является «стандартной» работой ETL. Хотя вы можете сделать это с помощью пользовательских сценариев, есть доступные инструменты, которые позволяют вам сосредоточиться на самой работе, в отличие от пользовательской разработки. Существует Oracle Data Integrator и Pentaho suite (с открытым исходным кодом), доступный для загрузки и ознакомления.

1 голос
/ 27 ноября 2009

Могу ли я использовать методы в DataTable или DataSet (или другие данные ADO.Net структура) для проверки ПК / ФК / Уникальный / Другие ограничения?

Я так не думаю. Вместо этого вы можете начать транзакцию и перехватить все SqlException -s.

Затем вы можете проверить Число исключения, чтобы увидеть, что это за ошибка (нарушение FK, ограничение Unique и т. Д.)

Каким будет рекомендуемый рабочий процесс загрузить данные в базу данных учитывая мои требования?

Вы также можете рассмотреть возможность использования Sql Server Integration Services. Это позволяет вам делать практически все.

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