Стандартные пакеты. DBMS_JAVA

dbstalker, 19 июня

Пакет для поддержки JAVA на сервере ORACLE. Рассмотрим основные процедуры и функции пакета.

LOGNAME, SHORTNAME – функции для преобразования коротких идентификаторов в длинные имена JAVA и наоборот. В словаре данных нашей базы обычно находятся хешированные имена Java-классов, которые загружены в базу данных, так как ORACLE не поддерживает длинные имена (только до 30 символов). Посмотрите поле object_name представление all_objects для java-классов. Вот для того, чтобы по короткому имени получить реальное имя и наоборот и служат эти две функции.

SET_COMPILER_OPTION – процедура для установки компилятора JAVA. Можно установить следующие опции компилятора : online ( true,false) – когда выполнять проверку типов (при выполнении или компиляции); debug ( true,false) - компилировать ли код с включенной отладкой или выключенной; encoding – кодировка исходного файла для компилятора (по умолчанию latin1). Её параметры: what VARCHAR2, optionName VARCHAR2, value VARCHAR2.what шаблон названия пакета, для компиляции которого устанавливаем опции, optionName – название опции (online,debug,encoding), value - непосредственное значение опции.

Вместе с процедурой set_compiler_option, обычно используют ещё и две следующие процедурки:

get_compiler_option(what VARCHAR2, optionName VARCHAR2) – возвращает значение заданной опции

reset_compiler_option(what VARCHAR2, optionName VARCHAR2) – удаляет указанную опцию для шаблона what из таблицы java$options

SET_OUTPUT – процедура является аналогом команды set serveroutput on в sqlplus. Процедура включает вывод результатов функций System.out.println и System.err.print на екран в sqlplus. Если вы не выполнили вызов exec dbms_java.set_output(100000) то все сообщения, которые формирует System.out.println выводятся в файлы трассировки.

LOADJAVA, DROPJAVA – это процедуры ,которые выполняют тоже, что и утилиты командной строки, загружают-выгружают java-объкты в текущую схему. Преимущество – не надо указывать имя юзера и пароль, тип jdbc – драйвера.

procedure loadjava(options varchar2)

procedure loadjava(options varchar2, resolver varchar2)

procedure loadjava(options varchar2, resolver varchar2, status OUT number)

procedure dropjava(options varchar2)

Блок процедур, управляющих правами

GRANT_PERMISSION – процедура для установки привилегий юзеру. Самый простой метод, который используется для определения нужный прав – выполнить необходимый код и посмотреть на сообщение об ошибках. Пример вызова

exec dbms_java.grant_permission('scott','java.io.FilePermission','/tmp/proba*','read,write,delete');

REVORE _PERMISSION – процедура забирает права, которые были предоставлены GRANT_PERMISSION.

 

Новый комментарий

Я не спамер: введите суму 3+4



 

От авторов блога

О Блоге - прочитай перед началом.

Задать вопрос и получить ответ - уже решено 94 вопросов

Глоссарий - список терминов и сокращений


 
 

Бизнес форум

Последние темы:

Расписание автобусов
18 июля, 3 ответа
Отдых в августе
17 июля, 4 ответа