Обновить метаданные схемы назначения в службах Integration Services

Я работал над огромным ETL-проектом с более чем 150 таблицами, и во время разработки мне пришлось существенно изменить имена столбцов назначения и типы данных для пары таблиц.

Моя проблема в том, что я не могу заставить SSIS увидеть новую схему для таблиц, которые я изменил. Итак, я хотел бы знать, как получить SSIS для обновления этой схемы? Я нахожу несколько нелепым, что нет никакого способа сказать SSIS обновить метаданные из схемы базы данных, особенно для миграции базы данных.

Воссоздание проекта с нуля не подлежит сомнению, потому что я уже потратил на это несколько часов. Также изменение вручную 400+ столбцов, которые я изменил, также не вариант.

3 ответа

Решение

Следуя моему предыдущему авто-ответу, я наконец нашел то, что мешало обновлению метаданных.

Когда я первоначально изменил свою базу данных, я фактически выполнил другой скрипт, который делал DROP на столе, а затем CREATE TABLE воссоздать стол с нуля. Там SSIS никогда не был в состоянии обнаружить изменения, и я должен был сделать все вещи в моем другом ответе.

Позже сегодня я должен был сделать небольшую модификацию, и на этот раз я выбрал ALTER TABLE, Как ни странно, на этот раз SSIS обнаружил все изменения, даже уведомив меня об обновлении столбцов в расширенном редакторе, который работал нормально.

Таким образом, в основном все эти проблемы были вызваны моим плохим знанием DBA и его лучших практик.

Как насчет использования Advanced Editor и нажав Refresh кнопка слева внизу?

Я нашел способ исправить это, но это было немного сложно.

Даже при том, что я полностью удалял ссылки на таблицу из своих пакетов, я всегда получал старые метаданные.

У меня до сих пор нет четкого решения, но вот что я сделал, чтобы исправить это:

  • Удалены любые ссылки на соответствующие таблицы источника и назначения.
  • Удалил папку obj и bin из папки проекта
  • Сохранено, закрыто, а затем вновь открыто проект
  • Создан новый поток данных с нуля и обновленные метаданные наконец-то появились

Не знаю, где была кэширована эта информация, но я подозреваю, что в папке obj хранится кэшированная копия ваших пакетов или что Visual Studio хранит метаданные в памяти, которая освобождается при закрытии. В любом случае, следуя этим шагам, это нужно исправить.

Другие вопросы по тегам