Уничтожение сеанса неактивной формы через сервер приложений оракула

Я пытаюсь использовать команду host в формах Oracle. Я получаю идентификатор процесса в качестве ввода от пользователя, и при нажатии кнопки «ОК» форма должна убить сеанс, связанный с идентификатором процесса.

PS: Пользователи будут вводить только идентификатор процесса frmweb.exe, который неактивен.

cmd := 'CMD /C taskkill /F /FI /pid 'process which is got as input' /IM frmweb.exe';
host(cmd)

Я также попытался записать указанную выше команду в файл .bat на сервере приложений. При попытке выполнить файл bat он не работает. Но при попытке запустить файл bat, дважды щелкнув на сервере приложений, сеанс был убит.

  1. При выполнении вышеизложенного я не могу убить процесс.
  2. Я также хотел бы знать, была ли команда хоста успешной или нет.

Не могли бы вы помочь мне и направить меня в продолжении. Orakill и alter session работают, но я не хочу их использовать.


person balaaagi    schedule 04.03.2013    source источник


Ответы (1)


Я попытался записать выполнение команды в текст для отладки и смог найти решение.

cmd := 'CMD /C taskkill /F /FI /pid 'process which is got as input' /IM frmweb.exe>>output.txt';

В конце команды был написан какой-то специальный символ, из-за которого команда не работала при вызове из Oracle Forms. Специальный символ возник из-за опечатки в коде Oracle Forms.

person balaaagi    schedule 16.11.2013