Как получить список выходных столбцов внутри скрипта BIML - генерация на основе столбцов - PullRequest
2 голосов
/ 11 ноября 2019

Я работаю над переносом существующей инфраструктуры генерации пакетов служб SSIS на BIML и столкнулся с задачей переноса следующей логики.
Платформа (написанная на C #) создает Источник OLE DB на основеметаданные. Затем, после создания экземпляра источника данных, он просматривает выходные столбцы. Если присутствуют определенные столбцы - платформа внедряет определенные преобразования, такие как Lookup и т. Д.

Пример этой логики - Источник OLE DB использует запрос select quantity, salesdate, prcode as productid from salesfact. Затем код ищет столбец productid и проверяет, имеет ли он тип данных int . Если это так - добавляет Lookup , который определяется столбцом поиска ProductID , имеет исправленный запрос / кэш поиска и предоставляет новый столбец DimProductID .

Подход довольно динамичный, потому что Источник OLE DB может иметь оператор SQL Select из переменной или с параметрами. Он работает правильно, при выполнении Instantiate() вызова OLE DB Source предоставляет необходимые столбцы в метаданных преобразования.
Вопрос - может ли такой динамический подход быть реализован в BIML? Если да - любая идея или примеры будут великолепны. На данный момент BIML кажется полностью декларативным (т. Е. Все метаданные должны быть определены где-то до запуска сценария BIML).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...