Consultor Eletrônico



Kbase 21670: What methods should be used when linking Oracle DataServer (ODS) executables on specific platforms?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   08/12/2005
Status: Verified

GOAL:

What methods should be used when linking Oracle DataServer (ODS) executables on specific platforms?

GOAL:

When do we need to probuild Oracle DataServer executables?

GOAL:

On which platforms do we need to probuild Oracle DataServer executables?

FACT(s) (Environment):

Progress 8.x
Progress 9.x
OpenEdge 10.x
Oracle DataServer

FIX:

Progress Oracle dataserver makes Oracle OCI API calls, and requires OCI library (libclntsh) being available during runtime. There are three methods access libclntsh from Progress dataserver executable:

1. Dynamic Access. In this method, we do not link the ORACLE symbols into our executables, progress loads the shared library at connect time.
2. Dynamic linking. In this method, the Oracle symbols are linked into executables but the actual library is loaded at runtime.
3. Static linking. In this method, the Oracle symbols are linked into executables but the actual library is loaded at build time.

With dynamic and static linking, users are required to run PROBUILD to build Oracle dataserver executables. The PROBUILD utility defaults to a particular method depending upon which version of Progress you are running and on which platforms. With dynamic access, PROBUILD is not required but since the libclntsh's path is harded coded, we are more dependent on default location of this library from Oracle. The only exception to dynamic access, would be if there was a bug preventing dynamic access at runtime, and as a result, a PROBUILD would be required to workaround the issue.

Following is a chart that lists methods of linking for different platforms and different Progress versions.


ODS VERSION STATIC LINKING DYNAMIC LINKING DYNAMIC ACCESS

V8.2 ALL Platforms - Windows
V8.3 IBM AIX HP Windows
DG-UX Compaq 64/Digital
DEC-ALPHA Sun Solaris Sparc
NCR
SCO OpenServer
Sun Intel


V9.0 IBM AIX HP Windows
DG-UX Compaq 64/Digital
SCO OpenServer Sun Solaris Sparc
SC.O UnixWare
Sun Intel

V9.1A/B IBM AIX Windows
DG-UX HP
SCO UnixWare Compaq 64/Digital
Sun Intel Sun Solaris Sparc


V9.1C/D DG-UX IBM AIX Windows
OE SCO UnixWare HP
Sun Solaris Compaq 64/Digital
Sun Solaris Sparc Linux
.