DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Внешние подпрограммы С

Для внешних подпрограмм С необходимо сначала скомпилировать функцию С в общую (shared) библиотеку, которая размещается в операционной системе. Затем необходимо настроить приемник для поддержки соединения с драйвером внешней подпрограммы создается объект библиотеки словаря данных для представления общей библиотеки в операционной системе. Наконец, создается оболочка для вызова подпрограммы.
Предположим, что написана С-функция sendMail с использованием прототипа следующего вида:
Если эта функция компилируется в общую библиотеку в файловой сис-
теме, скажем, в        то затем можно создать объект библио-
теки для представления расположения общего объекта:
Предложение AS EXTERNAL указывает имена библиотеки и функции С, а предложение PARAMETERS определяет отображение между типами данных PL/SQL и С. После завершения этих действий можно вызвать подпрограмму SendMailC из PL/SQL. Это в свою очередь будет приводить к вызову С-функции sendMail, которая и отправит сообщение. Внешние подпрограммы С выполняются в отдельном процессе. При вызове внешней подпрограммы сервер автоматически запускает процесс, называемый extproc (используя информацию из конфигурационных фай­лов Net8). Затем extproc загружает общую библиотеку, указанную в пред­ложении LIBRARY, и вызывает функцию.

 









jAntivirus