About the Easysoft JDBC-ODBC Bridge
The Easysoft JDBC-ODBC Bridge allows Java applications to connect to any datastore for which an ODBC driver is available.
JRE requirements
You need to install the Java Runtime Environment (JRE) on the computer where the Easysoft JDBC-ODBC Bridge client is installed.
JDBC support
The Easysoft JDBC-ODBC Bridge supports all JDBC 1.22 methods. The Easysoft JDBC-ODBC Bridge also supports all JDBC 2.1 functions (such as batch updates, scrollable results sets, programmatic inserts, deletes, and updates). The Easysoft JDBC-ODBC Bridge doesn’t support SQL 3 data types.
Classpath
By default, the Easysoft JDBC-ODBC Bridge driver classes are in:
C:\Program Files\Easysoft{PRODUCT}\Jars\EJOB.jar
-Or-
/usr/local/easysoft/job/EJOB.jar
Unicode support
To turn on Unicode support, include :unicode=on
in the JDBC URL.
Use one of the two getString
methods in the ResultSet
class to read Unicode data. Use the setString
method in the PreparedStatement
class to write Unicode data.
Read and write statements to metadata table, row and column names containing Unicode characters are not supported, unless those names are restricted to ASCII characters only.
The executeQuery
method in the Statement
class does not support SQL containing Unicode character strings.
Unicode data can also be be read by using one of the two getUnicodeStream methods in the ResultSet class and written by using the setUnicodeStream method in the PreparedStatement class.
|
Firewalls
Easysoft JDBC-ODBC Bridge server connections are made through the port designated in the connection URL and any firewall must allow TCP protocol traffic to pass through this port.
Threading
Easysoft JDBC-ODBC Bridge client
The Easysoft JDBC-ODBC Bridge client is safe to use in multi-threaded applications. It fully meets the requirements of the ODBC 3.5 specification as regards threading, with the proviso that the target ODBC driver must support asynchronous statement execution.
All operations on java.sql
and javax.sql
objects are required to be thread safe. This allows several threads to simultaneously call the same object.
In other words, a statement execution in one thread should not block an execution in another thread.
An example of a specific use of multi-threading is the way a long-running statement can be cancelled. This is done by using one thread to execute the statement and a second one to cancel it with Statement.cancel
.
Although in practice most JDBC objects are accessed in a single-threaded way, there needs to be support for multi-threading.
Some database APIs, such as ODBC, provide mechanisms for allowing SQL statements to execute asynchronously. This allows an application to start up a database operation in the background and then handle other work (such as managing a user interface) while waiting for the operation to complete.
As Java is a multi-threaded environment, there is no need to provide support for asynchronous statement execution. Java programmers can easily create a separate thread if they wish to execute statements asynchronously with respect to their main thread.
Some ODBC drivers may allow more concurrent execution than others, but developers should be able to assume fully concurrent execution. If the driver requires some form of synchronization, then the driver should provide it. In this situation, the only visible difference to the developer should be that applications run with reduced concurrency.
For example, two Statement
objects on the same connection can be executed concurrently, and their result sets can be processed concurrently (from the perspective of the developer). Some ODBC drivers provide this full concurrency, while others may execute one statement and wait until it completes before sending another one.
Easysoft JDBC-ODBC Bridge server
Under Windows, the Easysoft JDBC-ODBC Bridge server may run in either multi-threaded or multi-process mode:
-
In the default multi-threaded mode, the Easysoft JDBC-ODBC Bridge server creates a thread for each connection from a Easysoft JDBC-ODBC Bridge client.
-
In multi-process mode, the Easysoft JDBC-ODBC Bridge server creates a process for each connection from a Easysoft JDBC-ODBC Bridge client.
If the ODBC driver you’re using is not thread-safe (for example, drivers based on Microsoft Access Jet versions prior to 4.0), run the Easysoft JDBC-ODBC Bridge server in multi-process mode.
On Linux and UNIX platforms, the Easysoft JDBC-ODBC Bridge server is not required to be thread-safe, because a new process is started to handle each connection, either by the Easysoft JDBC-ODBC Bridge server running in standalone mode (without
inetd
) or byinetd
itself (if the server is started as aninet
service). There can only be one thread of execution in these circumstances.