Тип данных объектной переменной не поддерживается в выражении в ssis - PullRequest
1 голос
/ 26 февраля 2020

Я получаю список идентификаторов с помощью задачи sql и хранится в переменной объекта. Передавая каждый идентификатор в контейнер foreach l oop, я создаю CSV-файлы. Я хочу, чтобы имя файла CSV было уникальным. Как мы можем добавить идентификатор из переменной к имени файла CSV?

Спасибо

1 Ответ

2 голосов
/ 27 февраля 2020

Передача каждого идентификатора в контейнер foreach l oop Я создаю файлы CSV. Я хочу, чтобы имя файла CSV было уникальным

Вам не нужно изменять переменную объекта, которая хранит весь список идентификаторов, поскольку foreach l oop отображает текущее значение идентификатора в Переменная (вкладка «Переменное отображение» в редакторе контейнера), вы можете создать другую переменную, которая оценивается как выражение для создания уникального имени. В качестве примера рассмотрим, что @[User::CurrentID] - это переменная, которая хранит текущий идентификатор в пределах foreach l oop. создайте другую переменную типа string и оцените ее, используя аналогичное выражение:

"D:\\MyCSV_" + (DT_WSTR,50)@[User::CurrentID] + ".csv"

Обратите внимание, что строка соединения диспетчера соединений с плоскими файлами должна оцениваться с использованием выражения для чтения из этой переменной.

Если @[User::CurrentID] имеет тип string, вы можете добавить задачу выражения в контейнер foreach l oop, чтобы изменить его значение, используя аналогичное выражение:

@[User::CurrentID] = "D:\\MyCSV_" + @[User::CurrentID] + ".csv"

Полезные ссылки

...