PreviousFile Handling

Chapter 8: Third-party Software

This chapter describes issues and limitations when using Server Express with third party software.

8.1 dbx Support

AIX 4.2 and later dbx versions do not support COBOL data types. As this product requires AIX V4.3 or later only, dbx support has been removed.

8.2 Linking Oracle Libraries into the Server Express Run-time System

If you are using an Oracle database you might need to relink rtsora. If you do need to do this, you should ensure that the cob command line or makefile uses the -t option. You should also edit the file $ORACLE_HOME/lib/sysliblist to remove /lib/crt0_r.o -lc_r

If you want to migrate applications that call Oracle but do not use the OpenESQL functionality for Oracle access, you might might find the following information useful. This includes those of you using COBSQL.


Note: This method is not recommended by MERANT and is not intended to overrule advice from Oracle on the subject. For more information about configuring and accessing your Oracle database, you should consult your Oracle documentation.


Although Oracle traditionally rebuilds a run-time system so that the APIs it uses are available to COBOL, this approach is not the best way of making Oracle 8 and COBOL work together. Under Server Express, the best solution is to create a shared library with the Oracle 8 support linked into it, and load this shared library before the application starts. To do this, you need to:

  1. Create a shared library with the Oracle support linked into it

  2. Compile the main program with directives to preload the shared library and allow threading, if necessary

  3. Create a dummy link for the shared library to point to rts32_t

This solution has several advantages over the existing method:

8.2.1 Creating a Shared Library

The traditional method of relinking a run-time system for Oracle uses the following type of command:

cob -x -e "" -o rtsora oracle_parameters

Under Server Express on AIX, you can create a shared library called rtsora8_t.so with all the oracle libraries linked into it by using:

cob -Zt -e "" -o rtsora8_t.so oracle_parameters

where oracle_parameters are the libaries, files and/or options taken from the makefile that builds rtsora, which might include the following types of options:

-lxxxx, -Ixxxx, xxxxx.o


Note: If the Oracle support links in the C startup modules crt0.o or crt0_r.o, these should be omitted by not linking them into the shared library.


8.2.2 Compiling the Main Program

Next you need to compile the main program with some extra directives:

If the program fails to execute due to run-time system error (173) on rtsora8_t.so, the run-time system has been unable to find rtsora8_t.so.

Otherwise, if run-time system error 198 is generated on rtsora8_t.so, the run-time system has not been able to load rtsora8_t.so into memory. This might be because:

8.2.3 Creating a Dummy Link

You need to create a dummy rtsora that points to rts32_t. You do this by creating a symbolic link, although you could use cobrun or cobrun_t triggers. A dummy rtsora can be created as follows:

ln -s $COBDIR/bin/rts32_t `pwd`/rtsora

You can now run applications under Server Express that call Oracle functions directly.


Copyright © 2000 MERANT International Limited. All rights reserved.
This document and the proprietary marks and names used herein are protected by international law.

PreviousFile Handling