OpenLink Universal Data Access (UDA) Wiki
Documentation and guidance on installing, configuring and trouble-shooting UDA
Advanced Search
Help?
Location: / Dashboard / UdaWikiWeb / UdaWikiWebIndex / UDASystemIntegrationConfigDocs / ConfigHSODBCr817

Data Migration & Integration Configuration

Configuring an ODBC data source using Oracle Heterogeneous Services (Release 8.1.7 and below)

PURPOSE

A step by step guide to setting up and troubleshooting Heterogeneous Services using Generic Connectivity on a Unix platform.

Instructions

1. Install Heterogeneous Services with the Oracle Installer. If it's already installed, you'll see an "hs" directory under $ORACLE_HOME,

2. Install the data dictionary tables and views for Heterogeneous Services.

Log in to the Oracle database as sys and run the "caths.sql" script. This
script is located in $ORACLE_HOME/rdbms/admin.

The data dictionary tables and views may already be installed on the
server. You can query the data dictionary to check for their existence.

   select table_name from dba_tables where table_name like 'HS%';
   select view_name from dba_views where view_name like 'HS%';

   If they are not, run the script as follows:
           cd $ORACLE_HOME
           sqlplus  (provide authentication)
           @rdbms/admin/caths.sql


3. Install your ODBC driver and configure an ODBC DSN. Ensure that connections work by testing via the "iodbctest" sample application and/or the iODBC HTTP Administrator.

4. Make sure the following entries are added to the "network/admin/tnsnames.ora" and "network/admin/listener.ora" files. Change the "host" / ORACLE_HOME values according to your system:

Tnsnames.ora

       hsodbc=
         (description=
           (address=(protocol=tcp)(host=solaris_server)(port=1521))
           (connect_data=(sid=hsodbc))
           (hs=ok)
     )
}}}}

   Listener.ora
   
{{{
       sid_list_listener=
         (sid_list=
           (sid_desc=
             (sid_name=hsodbc)
             (ORACLE_HOME = /dbs/oracle8i/64-bit/8.1.6)
             (program= hsodbc)
           )
         )


5. Start the Oracle listener:

       lsnrctl
       start


You should now have a service handler for hsodbc

6. Make sure the following noted entries are in the inithsodbc.ora located in $ORACLE_HOME/hs/admin (sample values -- your paths may vary):

   # This is a sample agent init file that contains the HS parameters that are
   # needed for an ODBC Agent.

   #
   # HS init parameters
   #
   HS_FDS_CONNECT_INFO = <Your ODBC DSN Name>
   HS_FDS_TRACE_LEVEL = 4
   HS_FDS_TRACE_FILE_NAME = hs.log
   # *** Full path to ODBC Driver Manager ***
   HS_FDS_SHAREABLE_NAME = /dbs/openlink/32bit/v42/lib/libiodbc.so

   #
   # ODBC specific environment variables
   #
   set ODBCINI=/dbs/openlink/32bit/v42/bin/odbc.ini
   set ODBCINSTINI=/dbs/openlink/32bit/v42/bin/odbcinst.ini
   # *** The following variables are extra requirements of the OpenLink ODBC drivers ***
   set OPENLINKINI=/dbs/openlink/32bit/v42/bin/openlink.ini
   set PATH=$PATH:/dbs/openlink/32bit/v42/bin
   set LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/dbs/openlink/32bit/v42/lib


7. Connect to the Oracle database and create a database link to access the target database. Be sure to use the appropriate quotes as noted below.

   SQL> create database link hsodbc
   SQL>   connect to "user" identified by "password"     <= valid user/pwd on target DB
   SQL>   using  'hsodbc';


Once this is done, you should be able to select from a remote table in your DSN:

   SQL> SELECT * FROM authors@hsodbc;
Powered By Virtuoso