Мы сталкиваемся с проблемой с установкой переменной ODI в сценарии Jython. Любая помощь по нижеследующей проблеме замечательна.Переменная ODI 12.2.1, не устанавливающая динамически динамически в процедуре Jython
Заявление об ошибке: мы должны получить имя ОС из текущей операционной системы и на основе операционной системы, мы должны выполнить ODIOSCommand (Linux или Windows).
Но мы не можем установить имя ОС в переменной (например, используя переменную Jython или переменную ODI). Кажется, что он принимает только первое значение (значение по умолчанию) и не задает значение динамически.
выпуск: - Мы не можем установить переменную ODI через скрипт jython и получить динамическое значение.
Мы пытаемся установить переменную ODI через скрипт Jython, и это значение переменной используется для запуска команды ODIOS для создания текстового файла в соответствующей операционной системе.
Подробнее см. Ниже. • Создайте процедуру для запуска сценария jython. • Запустите команду «os.get_os_type()» и получите тип ОС. • Если тип ОС - это Windows или NT, то установите для переменной ODI (#IsWindows) значение «Да». • Если тип ОС - это Linux, установите для переменной ODI (#IsWindows) значение «НЕТ». • Оцените переменную ODI (#IsWindows), если она имеет значение YES, затем запустите команду Windows, чтобы создать текстовый файл, чтобы запустить команду Linux для создания текстового файла на компьютере Linux.
Существующий код в 11g версии: -
импорт ОС
если os.get_os_type() == 'нт':
cmd = 'dir "#ProcessingFolder*.xml" /s /b /a:-d > "#CurrFileName"'
os.system (CMD)
другое:
os.system("ls -d #ProcessingFolder*.[x,X][m,M][l,L] > #CurrFileName")
Ниже Jython кода, который мы пытаемся установить ODI переменную в ODI 12.2.1, потому что выше код не workign в ODI 12.2.1: -
импорт ОС
если os.get_os_type() == «нт «:
POG_IMPORT_3.IsWindows = 'ДА'
еще:
# POG_IMPORT_3.IsWindows = 'NO'
После того, как выше процедура выполняется, Вт e используют переменную «Обновить», чтобы получить последнее значение в переменной i.e. SELECT '#IsWindows' FROM DUAL.
И Оцените переменную, чтобы проверить, имеет ли она «ДА» или «НЕТ».
Но переменная «#IsWindows» не устанавливает/удерживает значение, установленное во время выполнения.
Примечание: Это проект, перенесенный с 11.1.1.7 по 12.2.1, и мы в первый раз создаем переменную в 12.2.1.
Является ли 12.2.1 переменной создания/использования в версии 12.2.1?
Какой-нибудь намек на то, как сохранить значение времени выполнения переменной ODI, очень полезно?