Пт Фев 03, 2012 16:28 Вызов операции из коммандной строки
Полезность: Нет оценки
Есть ли в ЦФТ возможность выполнения операции при вызове из коммандной строки? Можно ли так вызывать Навигатор или может есть специальная утилита? И желательно с логированием результата работы.
ЦФТ присылает нам версии со своими доработками. В них включаются хранилище + настройки, которые у них сделаны в операциях, т.е. надо зайти в навигатор - обновление версий и дернуть операцию. Хотелось бы узнать можно ли дернуть эту операцию не заходя в навигатор, а написав, bat файл из коммандной строки. Например, загрузить хранилище можно из коммандной строки, а вызвать операцию?
Имеете ввиду обновление до следующей версии ЦФТ? Картинка маленькая не могу понять. Я про другое, там ЦФТ кодирует дополнительный функционал, отчеты и т.д. Я про вызов таких настроек из коммандной строки.
Ага, до следующей версии. В состав обновления ЦФТ-БАНК последних версий такая штука входит. Рядом с этой утилитой лежит xml файл с настройками вида:
Код:
<step info="04. Выполнение операции конвертации '11.13->11.16 Обновление' (C1113_1116_ST)" name="run-method">
<parameters>
<parameter info="Короткое имя ТБП" name="class-id" value="CONV_57" />
<parameter info="Короткое имя операции" name="method-short-name" value="C1113_1116_ST" />
<parameter info="Файл журнала монитора коммуникационного канала" name="oramon-file" value="Logs1113to1116\04_oramon_[CONV_57]_[C1113_1116_ST].log" />
</parameters>
<exceptions default-type="error">
<exception info="Операция не существует" name="method-not-exists" type="error" />
<exception info="Операция не групповая" name="method-not-static" type="error" />
<exception info="Не удалось создать файл журнала монитора" name="create-oramon-file-failed" type="error" />
<exception info="Произошла ошибка при запуске монитора" name="oramon-exception" type="error" />
<exception info="При запуске тела операции произошла ошибка (SQL-exception)" name="sql-exception" type="error" />
</exceptions>
</step>
<step info="05. Удаление элементов модели (delete_1113to1116.xpck)" name="delete-elements">
<parameters>
<parameter info="Файл разметки" name="pck-file" value="..\delete_1113to1116.xpck" />
<parameter info="Файл резервного хранилища" name="backup-file" value="Logs1113to1116\05_backup_delete_1113to1116.mdb" />
<parameter info="Файл журнала монитора коммуникационного канала" name="oramon-file" value="Logs1113to1116\05_oramon_delete_1113to1116_xpck.log" />
<parameter info="Файл логирования работы в безынтерфейсном режиме" name="log-file" value="Logs1113to1116\05_pick_delete_1113to1116_xpck.log" />
</parameters>
<exceptions default-type="error">
<exception info="Файл разметки не существует" name="pck-file-not-exists" type="error" />
<exception info="Не удалось открыть файл разметки" name="open-pck-file-failed" type="error" />
<exception info="Невалидный файл разметки. Работа с таким файлом невозможна." name="pck-file-is-invalid" type="error" />
<exception info="Не удалось создать файл резервного хранилища" name="create-backup-file-failed" type="error" />
<exception info="Ошибка проверки подписи" name="check-signature-failed" type="error" />
<exception info="Не удалось создать файл журнала монитора" name="create-oramon-file-failed" type="error" />
<exception info="Не удалось создать файл логирования" name="create-log-file-failed" type="error" />
<exception info="Нет связи с Oracle (ORA-03114)" name="pick-exception" error-code="3114" type="error" />
<exception info="Произошла ошибка" name="pick-exception" type="warning" />
</exceptions>
</step>
В соответствии с этим файликом "автообновлятор" CFTUpdate1_28.exe и проводит обновление. Сделаете xml с одним шагом "запуск операции" - она и запустится. Только вот вопрос зачем вам это...
ЦФТ присылает нам версии со своими доработками. В них включаются хранилище + настройки, которые у них сделаны в операциях, т.е. надо зайти в навигатор - обновление версий и дернуть операцию. Хотелось бы узнать можно ли дернуть эту операцию не заходя в навигатор, а написав, bat файл из коммандной строки. Например, загрузить хранилище можно из коммандной строки, а вызвать операцию?
В клиент оракла входит программка sqlplus и ее оконная версия sqlplusw
указывая ей файл скрипта, можно выполнить на сервере Oracle в том числе, и операции обновлений.
Например, так:
это run_script.bat-файл
Код:
@echo off
if .%1.==.. goto noparam
if .%2.==.. goto noparam
set _login_str=%1
set _script_name=%2
sqlplus %_login_str% @%_script_name%
goto end
:noparam
echo Неверно заданы параметры
echo run_script ЛОГИН СКРИПТ
echo где:
echo ЛОГИН - строка соединения типа login/password@server
echo СКРИПТ - имя скрипта обновления
:end
а это скрипт
Код:
declare
n number := rtl.open;
begin
Z$CONV_U20XXMMDD_PROD.U20XXMMDD_PROD_EXECUTE(NULL,NULL);
end;
exit
ну и пример вызова:
run_script.bat ibs/passwd@shema_name script.sql
Экспериментируйте осторожнее
ЗЫ: В скрипт можно передать параметры, например, имя файла лога, куда можно выводить результаты.
Последний раз редактировалось: Random (Чт Фев 09, 2012 14:09), всего редактировалось 1 раз
а меня как всегда смущает вопрос.. а зачем всё это нужно?
ставить обновление автоматом джобом? а если если упадёт) или переклинит и будет вызываться раз 100 подряд
Ага, до следующей версии. В состав обновления ЦФТ-БАНК последних версий такая штука входит. Рядом с этой утилитой лежит xml файл с настройками вида:
Код:
<step info="04. Выполнение операции конвертации '11.13->11.16 Обновление' (C1113_1116_ST)" name="run-method">
<parameters>
<parameter info="Короткое имя ТБП" name="class-id" value="CONV_57" />
<parameter info="Короткое имя операции" name="method-short-name" value="C1113_1116_ST" />
<parameter info="Файл журнала монитора коммуникационного канала" name="oramon-file" value="Logs1113to1116�4_oramon_[CONV_57]_[C1113_1116_ST].log" />
</parameters>
<exceptions default-type="error">
<exception info="Операция не существует" name="method-not-exists" type="error" />
<exception info="Операция не групповая" name="method-not-static" type="error" />
<exception info="Не удалось создать файл журнала монитора" name="create-oramon-file-failed" type="error" />
<exception info="Произошла ошибка при запуске монитора" name="oramon-exception" type="error" />
<exception info="При запуске тела операции произошла ошибка (SQL-exception)" name="sql-exception" type="error" />
</exceptions>
</step>
<step info="05. Удаление элементов модели (delete_1113to1116.xpck)" name="delete-elements">
<parameters>
<parameter info="Файл разметки" name="pck-file" value="..delete_1113to1116.xpck" />
<parameter info="Файл резервного хранилища" name="backup-file" value="Logs1113to1116�5_backup_delete_1113to1116.mdb" />
<parameter info="Файл журнала монитора коммуникационного канала" name="oramon-file" value="Logs1113to1116�5_oramon_delete_1113to1116_xpck.log" />
<parameter info="Файл логирования работы в безынтерфейсном режиме" name="log-file" value="Logs1113to1116�5_pick_delete_1113to1116_xpck.log" />
</parameters>
<exceptions default-type="error">
<exception info="Файл разметки не существует" name="pck-file-not-exists" type="error" />
<exception info="Не удалось открыть файл разметки" name="open-pck-file-failed" type="error" />
<exception info="Невалидный файл разметки. Работа с таким файлом невозможна." name="pck-file-is-invalid" type="error" />
<exception info="Не удалось создать файл резервного хранилища" name="create-backup-file-failed" type="error" />
<exception info="Ошибка проверки подписи" name="check-signature-failed" type="error" />
<exception info="Не удалось создать файл журнала монитора" name="create-oramon-file-failed" type="error" />
<exception info="Не удалось создать файл логирования" name="create-log-file-failed" type="error" />
<exception info="Нет связи с Oracle (ORA-03114)" name="pick-exception" error-code="3114" type="error" />
<exception info="Произошла ошибка" name="pick-exception" type="warning" />
</exceptions>
</step>
В соответствии с этим файликом "автообновлятор" CFTUpdate1_28.exe и проводит обновление. Сделаете xml с одним шагом "запуск операции" - она и запустится.
xml для ..."автообновлятор" CFTUpdate1_28.exe... делается вручную? Или есть вспомогательные tools ы для её формирования?
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
Домен cftclub.ru не связан с ЗАО "Центр Финансовых Технологий" и ни в коей мере не нарушает авторских и иных прав
Владелец может не разделять мнения Участников и не несет ответственности за их публикации
Powered by phpBB