SSIS - пытается передать форматированную дату, чтобы применить к имени файла - PullRequest
0 голосов
/ 23 октября 2019

У меня есть пакет служб SSIS, в котором есть задача SQL, которая форматирует текущую дату как DDMMMYY и передает ее в задачу потока данных, которая сбрасывает дату в имя выходного файла

Я продолжаю получать

Ошибка: тип значения (Int32), присваиваемого переменной "User :: DDMMMYY", отличается от текущего типа переменной (String). Переменные не могут изменять тип во время выполнения. Типы переменных являются строгими, за исключением переменных типа Object.

откуда исходит Int32?

  • ForcedExceutionValueType is String
  • ParameterMappingDataType is VARCHAR

В Package Explorer значение ValueType для переменной равно String

Первоначально ForcedExecutionValueType был Int32, потому что это то, что находится в другом пакете служб SSIS, который в настоящее время находится в производстве (хотя сервер, на котором он работает, старше моего компьютера с Windows 10)

1 Ответ

0 голосов
/ 25 октября 2019

Скорее всего, одна из двух вещей.

  1. SQL-запрос возвращает int при форматировании в DDMMMYY. Приведите / Преобразуйте это к Varchar в запросе. SELECT CONVERT(Varchar(8),'20191025')
  2. После присвоения значения переменной SSIS вы используете его в выражении и пытаетесь связать другое значение или переменную с типом Int32. Таким образом, приведите его в выражении в виде строки или Unicode. (DT_STR,50,1252)@[User::Variable]
...