|
Программирование >> Oracle
Основные стандартные пакеты В этом разделе книги будут рассмотрены стандартные пакеты в базе данных, которых, по моему мнению, должен знать каждый. Все эти пакеты описаны в руководстве OracleSi Supplied PL/SQL Packages Reference. B фирменной документации обычно описаны точки входа (общедоступные процедуры и функции) стандартных пакетов и использование каждой функции/процедуры. Я же рассмотрю подробно, когда имеет смысл использовать тот или иной пакет. Не вдаваясь глубоко в работу каждой процедуры, я уделю внимание наиболее часто используемым точкам входа и продемонстрирую, как они используются. Исчерпывающий список содержащихся в каждом пакете процедур и подробное описание параметров вы сможете найти в упомянутом документе. Освоив это приложение, вы будете хорошо ориентироваться в назначении стандарт-н1х пакетов. Мы изучим не все пакеты. Это не означает, что остальные пакеты менее полезны, просто при разработке они используются редко. Мы рассмотрим пакеты, описанные в приложении. DBMS ALERT и DBMS PIPE. Средства межпроцессного взаимодействия в базе данных. Пакет DBMSALERT можно использовать для уведомления всех заинтересованных сеансов об определенном событии. Пакет DBMS PIPE позволяет двум сеансам взаимодействовать, аналогично тому, как это происходит через со-кет TCP/IP. DBMS APPLICATION INFO. Позволяет приложению записать полезную информацию в представления V$. Незаменим в случае контроля действий хранимой процедуры и записи другой информации. DBMS JAVA. PL/SQL-пакет, используемый для работы с хранимыми процедурами на языке Java. 1558 Приложение А DBMS JOB. Планировщик заданий в базе данных. Используется, если необходимо выполнять хранимую процедуру, например, ежесуточно в 2 часа ночи или просто для выполнения какого-либо действия в фоновом режиме. DBMS LOB. Пакет для работы с большими объектами (Large OBjects - LOB) в базе данных. DBMS LOCK. Пакет для создания пользовательских блокировок, независимых от блокировок уровня строки или таблицы, устанавливаемых сервером Oracle. DBMS LOGMNR. Пакет для просмотра и анализа содержимого активных ур-налов повторного выполнения. DBMS OBFUSCATION TOOLKIT. Обеспечивает шифрование данных в базе. DBMS OUTPUT. Обеспечивает простые средства вывода информации на экран из PL/SQL для среды SQL*Plus и SVRMGRL. DBMS PROFILER. Профилировщик исходного кода PL/SQL, встроенный в базу данных. DBMS UTILITY. Сборная солянка полезных процедур. UTL FILE. Обеспечивает средства ввода-вывода текстовых (а в Oracle 9.2.x и двоичных - прим. научн.ред.) файлов в PL/SQL. Позволяет читать и записывать текстовые файлы на сервере с помощью PL/SQL. UTL HTTP. Обеспечивает работу по протоколу HTTP (Hyper Text Transfer Protocol - протокол передачи гипертекста) из среды PL/SQL. Позволяет загружать Web-страницы в PL/SQL. UTL RAW. Обеспечивает преобразование данных типа RAW в VARCHAR2, и на- оборот. Используется для работы с протоколом TCP/IP, при обработке больших объектов типа BLOB и BFILE, а также для шифрования. UTL SMTP. Обеспечивает работу по протоколу SMTP (Simple Mail Tnsfer Protocol - простой протокол передачи электронной почты) из среды PL/SQL. В частности, позволяет послать сообщение по электронной почте из PL/SQL-под-программы. UTL TCP. Предоставляет средства работы с сокетами TCP/IP в языке PL/SQL. Позволяет из PL/SQL-кода подключиться к любой службе TCP/IP. Когда используются стандартные пакеты Причина использования стандартных пакетов проста: гораздо проще разрабатывать и сопровождать код, использующий стандартные средства, чем создавать их самому. корпорация Oracle поставляет пакет для определенных целей (например, шифрования данных), не имеет смысла писать такой пакет самому. Часто я сталкиваюсь с тем, разработчики по незнанию создают средства, уже существующие в базе данных. Знание того, какие готовые инструментальные средства имеются, существенно упрощает разработку. Основные стандартные пакеты 1559 O стандартных пакетах Имена всех стандартных пакетов Oracle начинаются с префиксов DBMS или UTL . Имена пакетов, созданных разработчиками серверн1х технологий (Server Technologies - теми, кто писал ядро базы данных), обычно начинаются с префикса DBMS . Пакеты с именами, начинающимися с UTL , происходят из других источников. В качестве примера можно назвать UTL HTTP - пакет для выполнения HTTP-запросов из PL/SQL (для получения Web-страниц и т.п.). Подразделение по разработке сервера приложений (Application Server Division) корпорации Oracle создало этот пакет для поддержки механизма ICX (Inter-Cartridge eXchange - обмен данными между картриджами) в сервере OAS (Oracle Application Server - сервер приложений Oracle), который сейчас заменен сервером iAS, (internet Application Server - сервер приложений Internet). Это различие имен для разработчиков практического значения не имеет - просто интересно отметить. Большинство этих пакетов хранится в базе данных в скомпилированном, скрытом (wrapped) формате. Благодаря этому код защищен от любопытных глаз. Можно увидеть спецификацию пакета, но не реализацию. Если выбрать из базы данных код тела пакета DBMSOUTPUT, будет получено примерно следующее: tkyte@TKYTE816> select text 2 from all source 3 where name = DBMS OUTPUT 4 and type = PAGKAGE BODY 5 and line < 10 6 order by line TEXT package body dbms output wrapped 0 abcd abcd abcd abcd abcd abcd abcd 9 rows selected. Как видите, пользы от этого мало. Можно, однако, выбрать спецификацию пакета.* tkyte@TKYTE816> select text 2 from all source 3 where name = DBMS OUTPUT 4 and type = PAGKAGE 5 and line < 26 * В базе данных, естественно, все комментарии в спецификации - на английском. Оригинал можно получить, выполнив представленный ниже оператор SELECT. - Прим. научн. ред.
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |