DISC

Contents | What's New | Quick Links

 

Interfaces

Introduction

Software Installation

Concepts and Design

Designing Applications

Omnidex Environments

SQL Reference

Omnidex API's

Utilities

Interfaces

Performance Guide

Troubleshooting Guide

Appendix

 

 

PL/SQL Interface for Oracle

InterfacesSetup

 

The Omnidex Procedural Language interface for Oracle provides a direct interface from Oracle's PL/SQL language to Omnidex via a set of PL/SQL functions and external C routines. The PL/SQL interface is designed to be used by Oracle stored procedures to access Omnidex indexes to provide faster and more flexible retrieval to Oracle.

The PL/SQL interface to Omnidex can be used by Oracle Forms, Oracle reports, as well as applications calling stored procedures including Web and Client/Server applications.

Setup

Syntax

Sample

Environment Variables

Omnidex Data sources

Omnidex Network Services

The Omnidex Procedural Language interface works by PL/SQL functions calling a set of C External routines which then call the OmniAccess API. The provided set of PL/SQL functions provide an interface to the Omnidex indexes primarily through the oaexecsql api call which can process Omnidex SQL statements, as well as Omnidex Query Language statements such as Qualify, Join, and Export. All of the Omnidex SQL language, including the extended functions, are available to the interface.

The general usage of the interface is to issue a connect to an Omnidex Client Data source file that references an Omnidex Environment Catalog file which is then used by DISC’s Network Services to connect to the Omnidex Environment Catalog.

After a connection is established, there are two general approaches for Oracle data retrieval.

  • The first approach is the full SQL method which uses the Omnidex SQL engine to optimize an SQL statement and fetch the rows from Oracle and then returns the rows to the PL/SQL interface.
  • The second approach performs index only commands using the Omnidex Query Language and the Oracle primary keys are returned to the PL/SQL interface. These primary keys are then used to retrieve the rows via Oracle’s normal processing.

In order to use the interface, the following set up must be performed.

  • The Oracle Net Listener must be running and configured to call externals.
  • This provides a level of isolation that Oracle requires for external routines. Additionally, the Oracle environment variable (EXTPROC_DLLS) must be set to either the name of the Omnidex library (eg. $OMNIDEX_LIBS/libodxplora.so) or it must be set to ANY to enable a process to call any external procedures.

  • The Omnidex Network Services Listener must be running. This provides a level of isolation, similar to that of Oracle's, that allows the OmniAccess API to connect back to Oracle to retrieve records.
  • A client Data source file must be created using the Windows DSEDIT program or a sample file edited with any text based editor if on Unix or Linux.
  • A proper Omnidex set up including Environment Variables must be set up.
  • A DISC provided SQL script has to be run by SQLPlus to create the PL/SQL package and other procedures used by the PL/SQL interface. This script has to be modified to point to the appropriate library.

Once the Omnidex PL/SQL interface is properly configured and running, the Omnidex interface is available to any Oracle user or process that has access rights to the package.

 

top

Dynamic Information Systems Corporation - Omnidex Version 3.8 Build 6 J15.03-Copyright © 2003

DISC | Documentation Home