|Oracle8i Server Installation and Database Administration Guide
Release 3 (8.1.7) for Fujitsu Siemens Computers BS2000/OSD
Part Number A95466-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 Oracle8i Application Developer's Guide (section Fundamentals) and we expect the reader to be familiar with this.
This paragraph complements the corresponding part in Oracle8i 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 Net8 features are used and it is the responsibility of the user to provide suitable Net8 control files. In this place we give an example how it can work. For more information refer to Oracle8i Application Developer's Guide, Oracle8i Data Cartridge Developer's Guide and Net8 documentation.
Your listener.ora file should have an entry like this:
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. As Oracle 8.1.7 on BS2000/OSD supports only entry names in upper case letters, you have to set the COMPILER-ACTION option LOWER-CASE-NAMES=NO.
Furthermore note that if you set the COMPILER-ACTION option SPECIAL-CHARACTERS=CONVERT, all underscores (_) in entry names will be converted to dollar signs ($) which must be considered when publishing the external procedure.