|Oracle9i Installation and Database Administration Guide
Release 2 (22.214.171.124.10) for Fujitsu Siemens Computers BS2000/OSD
Part Number B12034-01
This chapter describes how to create an environment on BS2000/OSD, where external procedure calls can operate. It complements the chapter about External Routines in Oracle9i Application Developer's Guide (section Fundamentals) and we expect the reader to be familiar with this.
This paragraph complements the corresponding part in Oracle9i Application Developer's Guide.
An external procedure does not run in the same process and address space as the caller. Oracle creates separate processes for them to operate savely and secure. For this purpose Oracle Net Services features are used and it is the responsibility of the user to provide suitable Oracle Net Services control files. In this place we give an example how it can work. For more information refer to Oracle9i Application Developer's Guide, Oracle9i Data Cartridge Developer's Guide and Oracle Net Services documentation.
Your listener.ora file should have an entry like this:
(SID_DESC = (SID_NAME = ep_agt1)
(ENVS = EXTPROC_DLLS=ANY)
(ORACLE_SID = sid_of_your_database)
(PROGRAM = EXTPROC) )
Your tnsnames.ora file should have an entry like this:
extproc_connection_data = (DESCRIPTION =(ADDRESS =(PROTOCOL=ipc)
(KEY = sid_of_your_database)(CONNECT_DATA =(PRESENTATION=RO)
(SID = ep_agt1)))
Then you can start a listener.
A DLL in the BS2000 environment is a modlib containing the functions called as external procedures. When EXTPROC is loaded these functions are dynamically bound to the program.
Identification of a library to Oracle occurs by:
The external C routine has to be compiled and the generated LLM has to be stored in the modlib. Note that if you set the MODULE-PROPERTIES option LOWER-CASE-NAMES=*NO, all lowercase letters in the entry names will be converted to uppercase.
Furthermore note that if you set the MODULE-PROPERTIES option SPECIAL-CHARACTERS=*CONVERT-TO-DOLLAR, all underscores (_) in entry names will be converted to dollar signs ($) which must be considered when publishing the external procedure.