Существует ли уникальный идентификатор для каждого выполнения цикла ForEach Loop в пакетах ssis? - PullRequest
1 голос
/ 17 октября 2019

Я хочу иметь уникальный идентификатор каждый раз, когда ForEach Loop Container выполняется в пакете ssis, потому что я выполняю последовательные шаги как поток и хочу, чтобы они были под уникальным ключом, я знаю, что могу сам генерировать этот ключ,но я думаю, что в такой ситуации может пригодиться system variable.

Ответы [ 2 ]

1 голос
/ 18 октября 2019

Согласно Документации Microsoft по системным переменным , существует переменная System::ContainerStartTime. Поскольку ForEach Loop является контейнером, вы можете преобразовать значение DateTime переменной сверху в серийный номер, например количество секунд с 1 января 1900 года, и использовать его в качестве идентификатора последовательности. Сам по себе он не является полностью уникальным;любой другой экземпляр одного и того же пакета, работающего одновременно, может генерировать тот же seq. Я БЫ. Таким образом, этого может быть достаточно, если вы не запускаете один и тот же пакет дважды.
Вы можете сделать это уникальным микшированием с помощью System::ExecutionInstanceGUID, но это требует некоторого кодирования.

1 голос
/ 17 октября 2019

Если вы проверите следующую документацию:

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

...