Targets Reachable by JDBC

This article will be enhanced from time to time to include an updated list of tested targets, JDBC drivers, JAVA versions and Operating System versions.  If you are interested in our testing regimen, then please reference Loader Regression Testing.

Loader version 3.0 was released in 2006 and this was the first version that included support for a JDBC interface.  The principal target database tested for this original JDBC release was Microsoft SQL Server, but our intention was to provide a general interface that worked for all JDBC drivers.  To that end the design assumed that all drivers would be Type 4 (native JAVA) drivers. This does not preclude the use of other types of drivers, but we have expended zero effort to make alternate types compatible and few vendors provide any other type.

Subsequent releases provided a much improved (i.e. reduced CPU demand) C JAVA interface.  As time proceeded, we added regression testing for traditional Oracle database targets and then for Rdb targets when the JDBC for Rdb server became available. Testing on a wider set of targets gave us confidence that the generality of our approach was valid.

Customers seized on the opportunity presented by the JDBC interface to replicate to multiple other databases such as Teradata and MySQL, despite the fact that these targets had not been part of the Loader's regression testing environment.  No unexpected behavior was found in the replicated data, although some surprises were found, such as all schemas being visible to metadata queries.  This led to a number of ad-hoc enhancements of the interface to allow better use of those targets.  JCC's interest in "Big Data" has also led to other enhancements, although those targets have not been included in the regression testing cycle, so far, and have been tested only in an ad-hoc fashion.

With the 3.5 release we have enhanced the Loader regression testing suite to validate proper and expected behavior against additional database targets.  The full table of testing follows.   The table shows the combinations of JDBC drivers, JAVA versions, target database versions, source and target operating systems that were tested.  As you will note, we used Java 1.6 for most of these tests.  However, that is only for this release.  We have tested with older versions, over time, and those worked (sometimes with patches) reasonably well. See this article for a discussion on JAVA versions. Since a single VMS system may host multiple JAVA versions, we don't view this as a limitation. We do recommend that you upgrade when you can. 

Source Architecture OpenVMS Version JAVA Version Target Database Host OS JDBC Driver
Alpha 8.4 1.5.0-5 SQL Server 2005 Windows Server 2003 Microsoft 1.2.2828.100
          SourceForge 1.2.7
Integrity 8.4 1h1 1.6.0-6 SQL Server 2012 Windows Server 2012 R2 Microsoft 4.1
          SourceForge 1.2.7
Integrity 8.4 1.6.0-5 Oracle RHEL 6.8 (Santiago) ojdbc6 from the 12.1 install
Integrity 8.4 1h1 1.6.0-6 5.5.5-10.1.11-MariaDB CentOS Linux release 7.3.1611 mysql-connector-java-5.1.35
Integrity 8.4 1h1 V7.3-130 OpenVMS 8.4 1h1 Rdb JDBC Driver V7.
Integrity 8.4 1.6.0-6 Oracle 10.1 OpenVMS 8.3 OJDBC14 from the kit
Integrity 8.4-2 1.6.0-6 Oracle 10.1 OpenVMS 8.3 OJDBC14 from the kit
Integrity 8.4 1h1 1.6.0-6 Oracle OpenVMS 8.4 1h1 ojdbc6.jar from the kit
Integrity 8.4 1h1 1.6.0-6 PostgreSQL 9.4.6 CentOS Linux release 7.3.1611 PostgreSQL 9.4.1207.jre6
Alpha 8.4 1.4.2-4.p5 Oracle RHEL 6.8 (Santiago) Oracle driver (From kit)
Integrity 8.4 1h1 1.6.0-6 Teradata DB SUSE Linux Enterprise Server 11 SP1 Teradata driver
Integrity 8.4-2 1.6.0-6 Rdb V7.3-200 VMS 8.4-2 Rdb JDBC Driver

 VMS Software Inc. has recently released Java 8 on OpenVMS. Java 8 requires a complete 64-bit interface, which requires additional validation of our code to ensure that it uses 64-bit pointers everywhere. We plan to do validation and testing with Java 8 for a future release.