Easysoft Easysoft ODBC-JDBC Gateway User's Guide - Introduction

Introducing the Easysoft ODBC-JDBC Gateway

The Easysoft ODBC-JDBC Gateway enables ODBC applications to access JDBC data sources.

The Easysoft ODBC-JDBC Gateway is currently available on Windows, Linux and Unix platforms. The most up to date list of Easysoft ODBC-JDBC Gateway platforms is available at:


Chapter Guide


Historically, corporate data was held on large, centralized computing resources that performed all the processing required on it. Changes to the business practice meant changes had to be made to the corporate mainframe system. Worse still was the problem of integrating two or more of these highly individual systems, for example in the event of a corporate merger.

As the desktop computer improved in power, users began to want to access corporate data in order to process it on their own desktop. The client-server architecture became a popular goal: the central computing resource (server) would produce a subset of its data for a user-friendly tool (client). The client would use desktop computing power to format and present the data.

Database application writers and their customers found themselves with a key problem: it was necessary to produce one version of a piece of software for each DataBase Management System (DBMS) they wished to use it with.

Relational databases and SQL went part way toward alleviating the problem. For the first time there was a defined, open, standard language for querying databases. In theory at least, it was possible to use the same language in dealing with databases from a variety of manufacturers. The X/Open consortium went on to define a Call Level Interface (CLI) so that programmers could effectively use SQL within their own programs.

ODBC (Open Database Connectivity) has for many years been recognised as the de facto data access method for Windows applications and ODBC drivers are available on Windows for all leading database systems.

ODBC is an API definition, compliant with ANSI SQL and the X/Open SQL CLI which allows an application to be written without considering the intricacies of the particular database engine to which it connects.

An ODBC driver takes care of all database-specific code, if necessary transforming the structure of the underlying system into a relational framework.

Figure 1 illustrates the principle of separating the driver from the application:

Figure 1: Before and after ODBC

Before ODBC, even if App1 and App2 were functionally equivalent, there had to be two programs, one for each DataBase Management System (DBMS), whereas ODBC permits the DBMS-specific parts of the program to be separated from the part that fulfils the functional requirement.

The result is that the completed application can be attached to any DBMS that has a corresponding driver. There are currently over fifty DataBase Management Systems supported in this way.

Driver Managers

The barest ODBC system would include an ODBC-conformant driver accessing some data, and an ODBC-conformant application, linked to the driver library.

If commercial applications were distributed in this way, users would need to re-link their applications to their chosen driver whenever they wanted to access a different data source.

Instead, the application program is linked to a driver manager, which loads the required driver at runtime.

The driver manager also initializes the driver with a stored set of attributes.

Figure 2: The Driver Manager as a dynamic linker

This approach provides three key results:


JDBC provides a call-level API for SQL-based database access and is the industry standard for database-independent connectivity between the Java programming language and a wide range of databases.

The JDBC API makes it possible to:

Support for JDBC technology has been built into many new products, ensuring that customers are not locked into any proprietary architecture and can continue to access information stored on different database management systems.

No configuration is required on client machines, as all connection information is defined by the JDBC URL used to access the server.

The Easysoft ODBC-JDBC Gateway

ODBC has for many years been recognised as the de facto data access method for Windows applications. Java has introduced an alternative standard, known as JDBC (Java DataBase Connectivity).

A growing number of database systems targeted at the Java marketplace only provide access via JDBC, thus excluding the use of popular ODBC applications such as Microsoft Excel and Crystal Reports for reporting and analysis.

The Easysoft ODBC-JDBC Gateway is the solution to this problem, a fully functional ODBC 3.5 driver which allows you to access all your existing JDBC data sources from any ODBC 2.0, 2.5, 3.0 or 3.5 compliant application.

The Easysoft ODBC-JDBC Gateway uses the JNI (Java Native Interface) to load JDBC Driver classes and to call JDBC methods in the loaded JDBC drivers.

Version 1.3x, 1.4x, 1.5x, 1.6x, 1.7x, 1.8x, 1.9x, 2.1x of the Java Virtual Machine (JVM) and the Java2 Runtime Environment (JRE) must be installed on the target machine before attempting to install the Easysoft ODBC-JDBC Gateway.

64-bit Windows

On 64-bit versions of Windows, the installer program installs both a 32-bit and a 64-bit version of the Easysoft ODBC-JDBC Gateway. If you want to use a 64-bit ODBC application, you need to use the 64-bit Easysoft ODBC-JDBC Gateway with a 64-bit JVM / JRE. If you want to use a 32-bit ODBC application, you need to use the 32-bit Easysoft ODBC-JDBC Gateway with a 32-bit JVM / JRE.

All details concerning Java downloads and installation can be found at http://www.oracle.com/technetwork/indexes/downloads/index.html.

64-bit Windows

To help ensure that you download the correct JVM, use the 64-bit version of Internet Explorer if you need to download a 64-bit JVM and use the 32-bit version of Internet Explorer if you need to download a 32-bit JVM.

The driver DLL file (o2jg.dll) contains an implementation of all the ODBC API functions and a separate DLL file (o2jgS.dll) contains ODBC Setup API functions.