Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Запуск exe с помощью Java из PL/SQL


Автор: funball 26.1.2011, 11:42
Здравствуйте.
Необходимо запустить exe файл с помощью PL/SQL, поискав, остановился только на одном - при помощи Java. Вроде все сделал по стандарту методов которые нашел, однако не работает и выдает ошибку типа:
Код

11:30:27  ORA-29532: Java call terminated by uncaught Java exception: java.io.IOException: e:/1/E_m_rep.exe not found

делаю так:
1.Написал класс и протестировал его, все работает
Код

import java.util.*;
import java.io.IOException;
import java.io.BufferedReader;
public class test1 {
    public static void main (String args[])
    throws Throwable {
    Runtime rt = Runtime.getRuntime();
    Process proc = rt.exec("e:/1/E_m_rep.exe");
    //return proc.exitValue();
  }
}

2.Загрузил его в схему GGG, дал права, создал процедуру
Код

CREATE OR REPLACE JAVA SOURCE NAMED "test1" 
AS
import java.util.*;
import java.io.IOException;
import java.io.BufferedReader;
public class test1 {
    public static void mmm_com()
    throws Throwable {
    Runtime rt = Runtime.getRuntime();
    Process proc = rt.exec("e:/1/E_m_rep.exe");
  }
};

create procedure test_msv_2 as
  language java name 'test1.mmm_com()';

GRANT JAVASYSPRIV TO GGG;
exec dbms_java.grant_permission ('GGG', 'SYS:java.io.FilePermission', 'e:/1/E_m_rep.exe', 'execute' );

3. запускаю и вот тебе ошибка:
11:30:27  ORA-29532: Java call terminated by uncaught Java exception: java.io.IOException: e:/1/E_m_rep.exe not found

Что можно еще проверить? что не так?

Автор: Zloxa 26.1.2011, 11:50
файл находится на файловой системе сервера?
пользователю, из под которого запущен процесс оракла, доступ к файлу не ограничен?

Автор: funball 26.1.2011, 12:02
Цитата

файл находится на файловой системе сервера?

Нет на локальной машине, пробовал так же разместить на сервере, но ошибка такого же типа. А так планируется запускать с сервера(думал можно просто изменить путь и все). А что есть спец место под фалы для этого у Oracle?
Цитата

пользователю, из под которого запущен процесс оракла, доступ к файлу не ограничен?

доступ есть.

Автор: Zloxa 26.1.2011, 12:10
Цитата(funball @  26.1.2011,  12:02 Найти цитируемый пост)
Нет на локальной машине

не стоит и пытаться ибо это абсурдно.

Автор: funball 26.1.2011, 13:57
Файл разместил на сервере и все заработало.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)