Как вызвать ODI Scenario из командной строки и дождаться его выполнения - PullRequest
2 голосов
/ 11 октября 2019

Я хотел бы вызвать сценарий ODI из командной строки и дождаться его завершения. Я использую ODI 12c и установил автономный агент. Я уже выяснил, что вы можете использовать команду startcen.cmd, и она работает для меня. Единственная проблема заключается в том, что cmd не ждет выполнения сценария. Какие-либо предложения для достижения этой цели?

Мой .bat-файл выглядит так:

cd C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\bin
call startScen.cmd "-INSTANCE=CITestAgent" MAPPING 1_0_0 GLOBAL "-SESSION_NAME=TEST_RUN" "-AGENT-URL=http://localhost:20910/oraclediagent"
cd C:\Users\Redekera\documents\testFiles
"C:\Users\REDEKERA\Documents\instantclient_19_3\sqlplus.exe" db_user/pw@db/scheme @run_tests_lieferschein.sql

После этой команды я хотел бы запустить sql через sql * plus, который должен ждать, пока сценарий не закончится.

Спасибо за помощь, ребята :)

Ответы [ 2 ]

2 голосов
/ 15 октября 2019

По умолчанию startcen.cmd будет ожидать окончания выполнения. Это можно изменить с помощью параметра -ASYNC=yes, чтобы начать выполнение асинхронно. В этом случае он вернет номер SESSION, который полезен для проверки статуса выполнения.

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

Если вы хотите, чтобы вторая команда выполнялась, только если первая успешно завершена:

execute scenario command && sql*plus command

Извлечено из здесь

Основная идея - «&&»знак!

...