Rogue Wave DB Link Libraries
This section provides a table of the Rogue Wave® DB Link libraries and draws your attention to the special make files supplied to enable you to rebuild dynamically-loadable drivers. It is divided as follows:
Library Names
Rogue Wave DB Link Libraries provides the names of Rogue Wave DB Link libraries. These names have been stripped of their suffix. The suffix depends on the operating system and compilation mode. It can be one of:
.a
.so
.sl
.lib
.dllRogue Wave DB Link Libraries
RDBMS | UNIX® Name | Windows® Name |
Rogue Wave DB Link driver manager | libdbkernel | dbkernel |
Static Load Mode | libdblnkst | dblnkst |
Dynamic load mode | libdblnkdyn | dblnkdyn |
Dynamically loadable driver manager | libdblinkdm | dblinkdm |
DB2 | libdbdb2 | dbdb2 |
DB2 | libdbdb29x | dbdb29x |
Informix | libdbinf9 | dbinf9 |
Oracle MySQL | libdbmysql | dbmysql |
ODBC | – | dbodbc |
OLE-DB (for Microsoft SQL Server) | – | dboledb |
Oracle v10 to v12 | libdbora | dbora |
Sybase | libctsyb | ctsyb |
Notes:
The former Microsoft SQL Server library dbmssql is not part of the distribution anymore; use the OLE-DB library instead.
The dynamically loadable driver manager libdblinkdm contains both the driver manager libdbkernel and the dynamic load mode library libdblnkdyn. These two libraries should never be present if the dynamically loadable driver manager is used.
Building Dynamically-Loadable Drivers under UNIX
The libraries relating to the driver manager are dynamically loadable. This is not the case of the drivers libraries which are simple shared libraries, thus they are not fully resolved. If one tries to dynamically load them, the load will fail due to unresolved symbols.
The delivery includes special makefiles to rebuild the dynamically-loadable drivers. These files are located in the shared directory and named Makefile.drv.
For all ports, these files use variables to locate the RDBMS client libraries. These variables follow the UNIX® convention of each RDBMS:
DB2DIR for DB2
INFORMIXDIR for Informix
MYSQL_HOME for Oracle MySQL
ORACLE_HOME for Oracle
SYBASE for Sybase
The object files needed to rebuild the drivers will be retrieved from the static version of the libraries. Once the dynamically loadable driver build is finished, the files are erased.
The vendor client libraries and location are set in the value of RDBMS dedicated variables:
DB2LIBS for IBM DB2
INFLIBS for Informix
MYSQLLIBS for Oracle MySQL
ORALIBS for Oracle
SYBLIBS for Sybase
For the AIX port, the driver build process uses a special script called makeC++SharedLib, which is part of the compiler distribution.
To build the drivers, the client libraries must be “sharable” libraries—that is, .so files on UNIX®. The only exception is AIX, under which drivers can be built even from .a library files. If your current version of the client software does not include this type of library, building the drivers is impossible.
Once the above mentioned variables have been verified, and modified if need be, copy or rename the existing shared libraries because the driver build will overwrite them. Then, from the platform shared directory, simply use the command: make -f Makefile.drv <driver> where driver is the name of the library as shown in the table of the preceding section. Here is the sequence to build the dynamically loadable driver for Oracle on a Red Hat 64bits platform:
$cd $ILDHOME/lib/x64_rhel5.0_4.1/shared
$mv libdbora.so libdbora_orig.so
$echo $ORACLE_HOME
$ ...
$make -f Makefile.drv libdbora.so
.
Warning: Do not mix RDBMS-specific files for one version with client libraries for another; even though the drivers building process may succeed, the runtime behavior is unpredictable and usually results in a memory fault. |
Version 6.3
Copyright © 2018, Rogue Wave Software, Inc. All Rights Reserved.