Чтение значения из текстового файла и обновление его до поля в таблице sql

У меня есть текстовый файл с такими данными, как

Имя пациента: Пациент 1 Медицинская запись №: A1 Дата госпитализации: 26.04.2009 Дата выписки: 26.04.2009 DRG: 982 и так далее.

В формате, указанном выше, у меня есть несколько записей в текстовом файле. Каждое поле разделено двоеточием.

Я должен прочитать этот файл и узнать значения и обновить соответствующие поля в моей таблице sql. Скажем, значение drg 982 должно быть обновлено в столбце drg таблицы sql)

Пожалуйста, помогите сделать это с помощью sql-запроса или пакета ssis.


person Shipu    schedule 15.12.2011    source источник


Ответы (2)


Если я получу эту задачу, я буду использовать SSIS.

  • Создайте 2 источника данных: плоский файл (для текстового файла) и подключение к SQL Server.
  • Используйте задачу «Поиск» для поиска значения из текстового файла для каждой записи в таблице БД.
  • Используйте выполнение задачи SQL для обновления записей по искомому значению
person demas    schedule 15.12.2011

Вы МОЖЕТЕ попробовать сделать это с помощью BULK INSERT.

  • Создайте временную таблицу, чтобы получить новые значения
  • МАССОВАЯ ВСТАВКА файла в указанную таблицу (**)
  • [при желании сделайте здесь обогащение/очистку данных]
  • объединить информацию из временной таблицы в фактическую таблицу

Единственная проблема с этим МОЖЕТ заключаться в том, что

  • сервер не может получить доступ к файлу напрямую (например, когда файл находится на общем сетевом ресурсе)
  • формат файла не может быть обработан с помощью BULK INSERT

Учитывая приведенный выше пример данных, вам может потребоваться загрузить данные в один большой столбец, а затем выполнить разбиение на разные столбцы с помощью Creative-SQL (PatIndex, подстрока, работа...). Вы можете попробовать указать двоеточие в качестве разделителя полей, но вы все равно получите данные, которые нуждаются (довольно немного) в очистке.

person deroby    schedule 15.12.2011