Ssis sql sap hana db (odbc)

Привет, я использую SSIS (MSSQL) для копирования данных между несколькими таблицами. Это прекрасно работало до недавнего времени, когда S.A.P. команда продолжает обновлять схему таблиц, не сообщая мне об этом.

У меня есть несколько таблиц, в которые они продолжают добавлять столбцы; это, в свою очередь, приводит к сбою моей работы SSIS по копированию данных.

Есть ли в SSIS способ просмотра исходной таблицы и корректировки целевой таблицы для отражения изменений на лету?

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

Короче говоря, могу ли я в SSIS разрешить добавление новых столбцов в исходные таблицы и автоматически обновлять целевые таблицы, чтобы мои задания не срабатывали? (О, и сопоставить источник с целевыми таблицами автоматически)?

Короткий ответ: нет. SSIS статичен по отношению к схемам таблиц. Однако можно написать компонент источника SSIS, который анализирует текущие схемы, но всегда возвращает один и тот же набор столбцов. Похоже, вам нужна динамика как на входе, так и на выходе.

user1443098 01.05.2018 19:06

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

John Spencer 01.05.2018 19:34
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
174
2

Ответы 2

Вам нужно будет включить новые столбцы в поток данных, то есть источник и место назначения (включить и сопоставить их). Таким образом, вы НЕ МОЖЕТЕ автоматизировать то, что ищете в SSIS. Надеюсь, поможет.

Посмотрите на Скрипт BiML, который позволяет вам создавать и выполнять пакеты SSIS динамически на основе метаданных, доступных во время выполнения.

но не во время выполнения, чего хочет OP IIUC

user1443098 01.05.2018 22:17

@ user1443098 Да, во время выполнения. BiML позволяет отображать элементы метаданных на элементы пакета. Когда «пакет» запускается, он смотрит на значение элементов метаданных (например, какие столбцы сейчас находятся в таблице), динамически создает пакет и запускает его.

Tab Alleman 01.05.2018 22:24

Прости, Таба, я так не думаю. BiML - это инструмент времени разработки, вы используете его для создания пакетов. Затем эти пакеты продвигаются в серверную среду (например, SSISDB, Msdb или файловую систему), и тогда все следы BiML исчезают. Он не может сделать то, что вы предлагаете, потому что его больше нет на картинке. Biml - это плагин Visual Studio. Больше не надо.

user1443098 02.05.2018 16:15

@ user1443098 Простите, я имел ввиду "Скрипт BiML". Я часто их объединяю. Отредактирую свой ответ.

Tab Alleman 02.05.2018 16:34

Это также не работает во время выполнения. Это (потрясающий!) Инструмент для разработки. IIUC, вы утверждаете, что можете развернуть пакет в SSISDB, например со встроенным скриптом BiML и что при запуске пакета (с использованием DTSEXEC) BiML каким-то образом будет творить чудеса. Я бы хотел, чтобы это было правдой! Увы, это не так.

user1443098 02.05.2018 16:58

@ user1443098 Нет, я этого не утверждаю. Я утверждаю, что вы можете написать программу, использующую скрипт BiML, и ваше задание может запускать эту программу, и эта программа может создавать пакет SSIS на лету на основе метаданных во время выполнения, а затем выполнять его и уничтожать. И он может делать это неоднократно по расписанию.

Tab Alleman 02.05.2018 17:07

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

user1443098 02.05.2018 17:17

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