Как импортировать в SQL Server 2005 из плоского файла с преобразованиями данных

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

Вопрос

У меня есть плоский файл данных, который мне нужно импортировать в мою базу данных SQL Server 2005.

Многие поля необходимо разделить на разные связанные таблицы.Например, плоский файл содержит имена, адреса и номера телефонов, все в одной записи.В моей базе данных Person в таблице есть много Telephones и Addresses.

Существует ли одноэтапный процесс, посредством которого я могу импортировать все в свои таблицы, или мне нужно сначала импортировать это в новую таблицу в моей базе данных (тьфу - загрязнение, если я забуду ее удалить) и импортировать данные оттуда, используя инструкции SQL и временные таблицы?

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

Решение

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

  • Проще справляться с ограничениями (проверьте перед вставкой в итоговую таблицу или обновлением существующей строки)
  • Проще оставить данные, генерирующие ошибки, в таблице импорта после удаления успешных строк
  • Транзакция на стороне сервера
  • Безопасность типов данных:можете ли вы на 100% доверять своему источнику?
  • Проще использовать ISNULL или NULLIF в SQL для работы с пустыми строками и другими подобными
  • и другие вещи, которые я сейчас не могу вспомнить...

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

Это полностью работа для Службы интеграции SQL Server.Он обладает некоторыми замечательными функциональными возможностями, которые позволят вам взять плоский файл, выполнять с ним манипуляции с данными и в конечном итоге импортировать его в вашу новую базу данных.

К сожалению, за пределами этого нет простого решения "быстрого исправления", о котором я знаю.Однако есть технология, которую я бы изучил в первую очередь.

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