Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Запуск внешнего приложения / 7 сообщений из 7, страница 1 из 1
18.01.2014, 09:11
    #38530358
metis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск внешнего приложения
Доброго времени суток!!!

Идея такова: на странице размещен репорт , значение столбца - ДНС имя компьютера в сети. Столбец репорта со значением ДНС типа URL. Пользователь щелкает по имени компьютера, происходит редирект на страницу с процессом, который должен запустить PING, если ответ есть строка в репорте должна измениться, например изменится цвет....

Как запустить внешнюю команду? Например ping

Спасибо
...
Рейтинг: 0 / 0
18.01.2014, 09:14
    #38530359
29 Белых Котиков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск внешнего приложения
metis,

DBMS_SCHEDULER, тип задания EXTERNAL
...
Рейтинг: 0 / 0
18.01.2014, 14:12
    #38530488
metis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск внешнего приложения
29 Белых Котиков,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 dbms_scheduler.create_job('myjob',

   job_action=>'C:\WINDOWS\SYSTEM32\PING.EXE',

   number_of_arguments=>2,

   job_type=>'executable', enabled=>false);

 dbms_scheduler.set_job_argument_value('myjob',1,'localhost');

 dbms_scheduler.set_job_argument_value('myjob',2,'>> c:\test.txt');

 dbms_scheduler.enable('myjob');

 end;



А как отследить результат?
...
Рейтинг: 0 / 0
18.01.2014, 14:49
    #38530517
29 Белых Котиков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск внешнего приложения
metis,

dba_scheduler_job_details

Но, вообще, в ващем случае это не нужно. Команда пинг использует протокол echo, отправляя по нему сообщение и получая ответ. Вы это можете сделать через utl_tcp самостоятельно, без вызова внешней программы.

http://tools.ietf.org/html/rfc862
...
Рейтинг: 0 / 0
18.01.2014, 14:51
    #38530518
29 Белых Котиков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск внешнего приложения
То есть dba_scheduler_job_run_details, но всё равно, лучше через echo
...
Рейтинг: 0 / 0
20.01.2014, 00:39
    #38531297
Алексей Выхрыстюк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск внешнего приложения
create or replace FUNCTION PING(
p_HOST_NAME VARCHAR2,
p_PORT NUMBER DEFAULT 1521 )
RETURN VARCHAR2
IS
tcpConnection UTL_TCP.CONNECTION;
BEGIN
--wait 2 secconds for the timeout..
tcpConnection := UTL_TCP.open_connection (remote_host => p_HOST_NAME, remote_port => p_PORT, tx_timeout=> 5);
UTL_TCP.close_connection (tcpConnection);
RETURN 1;
EXCEPTION
WHEN UTL_TCP.NETWORK_ERROR THEN
return 0;
END;​
...
Рейтинг: 0 / 0
20.01.2014, 10:58
    #38531481
29 Белых Котиков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск внешнего приложения
Алексей Выхрыстюк,

Так тоже можно, но это не ping. Команда ping проверяет не только коннект к хосту, но и возможность отправлять байты пакетами по 32 штуки, заменяя при этом время. Это, скорее, что-то вроде последнего действия tnsping.
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Запуск внешнего приложения / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]