У меня есть пакет SSIS, который берет данные из таблицы базы данных и выводит их в файлы csv. В какой-то момент по пути возникает задача «Выполнение SQL» для получения имени файла (тип и порядковый номер, которые затем используются для создания имени файла, например, CAR, 12 сделает C0000012.csv. Мне нужно иметь возможность сделать это таким образом, чтобы не возникало ошибок в случае отсутствия машин в таблице при запуске пакета.
Для этого я сделал пакет sql, который проверит количество, а затем либо вернет «CAR» и порядковый номер, если есть данные, либо «NUL» и 0, если их нет. У меня есть две переменные, которые отображаются как выходные параметры:
NAME | Direction| Type | Name | Size
User::DownloadFileType | Output | String | TYPE | 3
User::DownloadFileNum | Output | int32 | SEQN | 8
Когда я запускаю пакет, я продолжаю получать сообщение об ошибке:
Тип значения, присваиваемого переменной "User::DownloadFileType", отличается от текущего типа переменной.
Я искал помощь в Интернете, и, похоже, возникла проблема с попыткой загрузить VARCHAR (MAX) в строковое значение SSIS, мои строки базы данных имеют тип VARCHAR2 (PL SQL), но я установил максимальный размер равным 3. по всему пакету и до сих пор не повезло.
Я думаю, что проблема может быть связана с тем, что это тип VARCHAR2, но я не уверен, как сделать его совместимым с SSIS. Любая помощь, которую вы могли бы предложить, будет принята с благодарностью.
Спасибо, Стив