Page History
...
JDBC Drivers for a number of DBMSs are included with JS7. However, due to restrictions placed on bundling JDBC Drivers with Open Source software for some DBMS products, users have to download the JDBC Driver from the vendor's web site themselves:
DBMS Product | DBMS Version | JDBC Driver Version | JDBC Driver File | JDBC Driver License | Included with JS7 | Comment |
---|---|---|---|---|---|---|
H2® | 2.3.232 | 2.3.232 | h2-2.3.232.jar | MPL 2.0, EPL 1.0 | no | DBMS and JDBC Drivers are Open Source Use Java Option (JS7 - How To - Apply Java Options): |
MariaDB® | 10, 11 | from Release 2.7.3: 3.5.0 |
| LGPL | yes | DBMS and JDBC Drivers are Open Source |
MySQL® | 5.7, 8.0 | 8.x | mysql-connector-java-8.x.jar | Proprietary License | no | DBMS is Open Source, JDBC Drivers are not Open Source The MariaDB® JDBC Driver can be used for access to MySQL® databases |
Oracle® | 12c, 18c, 19c, 21c |
from Release 2.7.3: 19.25 |
| FUTC License | yes | DBMS and JDBC Drivers are not Open Source Use | ||
PostgreSQL® | 10, 11, 12, 13, 14, 15 | from Release 2.7.3: 42.7.4 until Release 2.7.2: 42.4.3 | postgresql-42.7.4.jar | BSD 2-clause | yes | DBMS and JDBC Drivers are Open Source |
SQL Server® | 2016, 2017, 2019, 2022 | 9.x, 10.x, 11.x, 12.x | mssql-jdbc-<version>.jre8.jar mssql-jdbc-<version>.jre11.jar mssql-jdbc-<version>.jre17.jar | Proprietary License | no | DBMS and JDBC Drivers are not Open Source |
In most situations it is technically possible to operate JS7 with newer versions of a DBMS or JDBC Driver if the version is actively supported by the DBMS vendor. Users frequently ask if JS7 is compatible with newer versions of a DBMS or JDBC Driver. It's the wrong question and your DBA should know the answer. Consider the following example for Oracle® that similarly applies to other DBMSs:
- Oracle® ships a newer version of their DBMS compatible to previous versions, e.g. the 19c release is compatible to 18c and down to 12c and 10g.
- Compatibility includes that your DBA identifies the technical compatibility switch in the DBMS to run the 19c version compatible to 18c, 12c etc. This means your DBA is in control of compatibility.
- SOS documents that JS7 is compatible to Oracle® 12c and 18c. This boils down to the fact that your DBA can run any newer version of the DBMS in a compatibility mode that supports 12c or 18c.
- The question if SOS will ship a JS7 release specifically for 19c would mean that the product is no longer compatible to earlier releases of the DBMS. This will not happen. The JS7 is not too demanding when it comes to the DBMS, which is considered as a datastore.
The same applies to JDBC Drivers. There might be newer versions of JDBC Drivers that e.g. include bug-fixes. Do not ask SOS if JS7 is compatible to a specific JDBC Driver version. Ask your DBMS vendor if a newer version of the JDBC Driver is compatible to the one stated above. When picking a JDBC Driver then check compatibility with the Java version in use. For Java versions that can be used with JS7 see the Which Java versions is JobScheduler available for? article.
...
As a prerequisite users have to download the H2 DBMS/JDBC Driver that both ship from a single .jar file, for example from using http://www.h2database.com/html/download-archive.html:
- JDBC Driver version 12.43.200 232 is reported to work with JS7 2.
- At the time of writing versions 2.* are reported not to work with JS7 due to Bug 578086 - IDENTITY function no longer supported in H2 database.
- The following Java option has to be used:
--add-opens=java.base/sun.reflect.annotation=ALL-UNNAMED
- For details see JS7 - How To - Apply Java Options.
- The DBMS/The JDBC Driver .jar file, for example example
h2-12.43.200232.jar
- can be specified with the JOC Cockpit graphical installer,
- can be added to an existing JOC Cockpit installation, see chapter Individual JDBC Driver Versions.
- In this situation users can run the following commands
cd $JETTY_BASE | cd %JETTY_BASE%
../install/joc_install_tables.sh | ..\joc_install_tables.cmd
It is required to navigate to the
JETTY_BASE
directory to run the above commands in order to have the database being created in./resources/joc/h2
.as specified by the H2® Hibernate configuration file.
- In this situation users can run the following commands
An Operation Script for H2® databases is explained from the JS7 - How to operate H2 Databases from the Command Line article.
H2® ships with a console application that by default is available for browsers from port 8082
. It is not required to run the H2® console application, however, find the following information how to invoke the console application.:
- JOC Cockpit has to be stopped as if the embedded H2® database can be used by a single client only. Use of the
AUTO_SERVER=TRUE
property in the JDBC URL allows to operate JOC Cockpit and the H2® console application in parallel. - The console application and the database are started by invoking the H2® .jar file like this:
cd $JETTY_BASE | cd %JETTY_BASE%
java -jar ./lib/ext/joc/h2-12.43.200232.jar -webAllowOthers -tcpAllowOthers
- It is required to navigate to the
JETTY_BASE
directory to run the above commands in order to have the database being created in./resources/joc/h2
.as specified by the H2® Hibernate configuration file. - The H2® console application should launch a browser window if executed from the local machine and otherwise will displays a URL to connect to the application.
- For login users should specify
- the URL:
jdbc:h2:./resources/joc/h2/joc
as indicated from the above Hibernate configuration file - the user name:
joc
- an empty password.
- the URL:
...