Как загрузить данные в базу данных с помощью ADO.NET

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

  •  05-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

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

Решение

  

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

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

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

  

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

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

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

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

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