Next Previous Contents

## 6. TAS and Oracle

## 6.1 Oracle Support

Tango 3.x for Solaris does not have native Oracle support. Tango 2000 for Solaris supports Oracle 8 and 8i, and generally works with Oracle 7.3.4 and above. Tango 2000 Service Pack 1 was not tested with Oracle 7.x however, and there have been reports of problems. The Oracle 8 client can connect quite happily to the Oracle 7 server, however, so that is an option.

To use Oracle with Tango, first you require the Oracle Client to be correctly installed on the machine. Generally, a good way to check for this is to:

- check to see if there is an 'oracle' account on the machine
- try to run the Oracle program 'sqlplus'

If you can successfully run sqlplus, you should be fine. If not, well, go install Oracle.

Next, you need to make sure that the client has the appropriate entries for the datasource in question to your TNS service; generally a tnsnames.ora file. You accomplish this with your Oracle software; there are programs such as net8config and what not that do it for you. The thing to remember here is that the name of the datasource needs to be the same as the name of the datasource you're using in Tango.

Finally, to allow Tango to use the Oracle software, you need to add this path to the LD_LIBRARY_PATH environment variable of the tango user account.

    $ORACLE_HOME/lib

You'll also need to define what $ORACLE_HOME is; this, of course, is the root directory of Oracle, and will be some forboding path such as, for example, /u01/software/products/8.1.5/oracle or something similar.

If you're using Oracle 7.x or 8.0.x you'll probably need to create a new client library. Instructions for this are in $TANGO_HOME/odbc/src/oracle in the readme.ora file. You can check to see if you require this patch by attempting to load the Oracle ODBC driver (see section 6). If it fails with an 'unresolved symbol' error, then you need the patch.

As the readme file says, this newly created library must appear in your LD_LIBRARY_PATH before the reference to $ORACLE_HOME/lib does. If there are no other programs running, it's generally easiest to replace the old library with the new.

Some shells seem to have trouble with the LD_LIBRARY_PATH ordering; I've seen ksh fail to correctly load the new library, and switching to sh or bash solve it.

Next Previous Contents