Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Запуск программы на сервере БД с клиента.  [new]
deniska80
Member

Откуда:
Сообщений: 579
Собственно необходимо задачка такая чтобы на оракловом серваке от клиента(например apex) запустить программку(в данном случае формсы).

Я покопался и нашел вариант через JAVA runtime.getRuntime().exec(Str)
где str это string='cmd /c' + args
где args имя проги
Написал классик, прогрузил в базу и обернул. В итоге получил процедуру, ктр запускает сервис но не программу.
Т.е. я допустим хотел запускать формсы на сервере, ктр бы составляли отчет и сохраняли в определенной папке на серваке и выключались, а получил на выходе только запущенный сервис с формсами. А если в args подставить notepad, то получал сервис блокнота.
Как бы заставить это работать?
13 май 10, 16:15    [8769101]     Ответить | Цитировать Сообщить модератору
 Re: Запуск программы на сервере БД с клиента.  [new]
-2-
Member

Откуда:
Сообщений: 15330
deniska80,

"Как бы заставить это работать?" - пользоваться управляемыми программами, то есть имеющими API (пусть командной строки) для выполнения нужных функций. Notepad умеет только печатать на дефолтный принтер без интеракции.
13 май 10, 16:40    [8769413]     Ответить | Цитировать Сообщить модератору
 Re: Запуск программы на сервере БД с клиента.  [new]
deniska80
Member

Откуда:
Сообщений: 579
Вы не так поняли, notepad мне не нужен-я его привел для примера.
Если дословно, то подставляя в arg "ifrun60 c:\temp\form1.fmx user\pass@db "
я хочу чтобы на серваке запустилась и выполнилась указанная форма.
Ну или узнать про другой метод решения этой задачки
13 май 10, 16:47    [8769483]     Ответить | Цитировать Сообщить модератору
 Re: Запуск программы на сервере БД с клиента.  [new]
-2-
Member

Откуда:
Сообщений: 15330
deniska80
Если дословно, то подставляя в arg "ifrun60 c:\temp\form1.fmx user\pass@db "
я хочу чтобы на серваке запустилась и выполнилась указанная форма.
А что, не выполняется разве? Чего вы ожидаете от "выполнения формы"?
13 май 10, 16:52    [8769545]     Ответить | Цитировать Сообщить модератору
 Re: Запуск программы на сервере БД с клиента.  [new]
deniska80
Member

Откуда:
Сообщений: 579
ожидаю что в нужной папочке появится нужный отчет
13 май 10, 16:53    [8769561]     Ответить | Цитировать Сообщить модератору
 Re: Запуск программы на сервере БД с клиента.  [new]
-2-
Member

Откуда:
Сообщений: 15330
deniska80,

В час по слову. А при вызове из командной строки на сервере создается файл? Что возвращает вызов из джавы? Папочка локально-честная или редиректнутая?...
13 май 10, 17:05    [8769684]     Ответить | Цитировать Сообщить модератору
 Re: Запуск программы на сервере БД с клиента.  [new]
deniska80
Member

Откуда:
Сообщений: 579
При вызове из командной строки все работает как надо(файл создается). При запуске прцедуры запускается только процесс ifrun60

create or replace and compile java source named main as
import java.io.*;
public class Main {
  public static void den(String args) throws Exception {
  String cmd="cmd /c " + args;
  Runtime.getRuntime().exec(cmd); 
  }
}

create or replace procedure main_test(sCmdName varchar2) as
  language java
   name 'Main.den(java.lang.String)';
13 май 10, 17:21    [8769869]     Ответить | Цитировать Сообщить модератору
 Re: Запуск программы на сервере БД с клиента.  [new]
deniska80
Member

Откуда:
Сообщений: 579
Папочка честно-локальная)
13 май 10, 17:22    [8769874]     Ответить | Цитировать Сообщить модератору
 Re: Запуск программы на сервере БД с клиента.  [new]
-2-
Member

Откуда:
Сообщений: 15330
deniska80,

"из командной строки все работает как надо" - без вывода формы на экран и нажатия кнопочек?
Оракл под LOCAL SYSTEM работает?
13 май 10, 17:30    [8769950]     Ответить | Цитировать Сообщить модератору
 Re: Запуск программы на сервере БД с клиента.  [new]
deniska80
Member

Откуда:
Сообщений: 579
1.Да.(В триггере when-new-form-instance идет создание и сохранение в файл отчета, а затем выход из формсов)
2.Да.База, где хранится процедурка под local system.
13 май 10, 17:39    [8770052]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить