Skip to main content
Skip table of contents

H2 JDBC Driver

JDBC (Java Database Connectivity) is a programming interface that lets Java applications access a relational database.

SuperCHANNEL needs a JDBC driver so that it can access the relational database system (e.g. SQL Server, Oracle, etc) where your source data is stored.

Before you can run SuperCHANNEL, you need to install the appropriate JDBC driver and configure SuperCHANNEL so that it can access the driver.

In most cases the JDBC drivers are supplied by the database vendors; they are not supplied with SuperCHANNEL.

H2

H2 is a relational database management system (RDBMS) written in Java. It is open source and can be embedded in Java applications or run in the client-server mode.

H2 can be used with SuperCHANNEL, and is generally a more successful target than other RDBMS products when harvesting records from a SuperSTAR database by the "reverse channel" process (reverse channelling is where you are extracting information from a SuperSTAR database as the source, with the RDBMS as the target).

H2 file mode is not supported by the SuperCHANNEL GUI and can only by used with SNU (the SuperCHANNEL Command Line Utility). H2 server mode works with both the GUI and SNU.

Step 1 - Download and Install the Driver

  1. Download the latest version of the H2 driver from https://www.h2database.com/html/download.html (select either the Windows Installer or the Platform Independent version).
  2. Extract the driver file from the download. The driver file is a .jar file, and will be named something like h2-1.3.171.jar
  3. SuperCHANNEL can access the driver file from anywhere on your system, but you are recommended to copy it to the drivers directory in your SuperCHANNEL installation. If you chose the default installation options, the location will be: C:\Program Files\STR\SuperCHANNEL\jar\drivers

    Depending on your system configuration, you may need administrator permissions to copy to this directory. If you are prompted to provide administrator permissions, click Continue.

Step 2 - Edit the SuperCHANNEL Configuration

  1. Locate the SuperCHANNEL configuration file, config.txt. If you chose the default installation options, this file will be located in C:\ProgramData\STR\SuperCHANNEL\bin

    Make a backup copy of this file before making any changes.

  2. Open config.txt in a text editor.
  3. Locate the line that defines the Java class path property (java.class.path=), and add the following to the end of the definition:

    TEXT
    $(SNU_PROGRAM_HOME)\jar\drivers\h2-1.3.171.jar;

    You will need to replace h2-1.3.171.jar with the filename of the driver you installed. Each entry in the Java class path definition must be separated by a semi colon.

    $(SNU_PROGRAM_HOME) is a predefined variable that refers to the SuperCHANNEL program files directory. If you have chosen not to store the driver in the SuperCHANNEL drivers directory then you will need to specify the full path to the driver location instead.

  4. Locate the line that defines the jdbc.drivers property and add the following to the end of the definition:

    TEXT
    :org.h2.Driver

    Each entry in the jdbc.drivers definition must be separated by a colon.

  5. Save config.txt.

The following example shows the two additions to the configuration file:

Step 3 - Start SuperCHANNEL

Start SuperCHANNEL, select File > Connect to Source, and use the following connection string to connect to H2:

TEXT
jdbc:h2:/C:/test/h2test04;AUTO_SERVER=TRUE;IGNORECASE=true;MODE=MySQL

Where:

  • C:/test is the directory where your H2 database is stored.
  • h2test04 is the database file name (do not include the file extension).

Some of the parameters on the connection string will depend on your particular implementation of H2. Often it is a good idea to also use the FILE_LOCK=NO parameter, particularly if you are also using the web browser console for H2.

You will also need to provide user credentials (for H2 authentication) and a schema name for connection to succeed:

Step 4 - Update the SNU Class Path

You may also need to add your driver to the SNU class path. This step is only required if:

  • You have saved the driver JAR file somewhere other than the SuperCHANNEL drivers directory; and
  • You intend to run SuperCHANNEL from the command line or via scripting using SNU, the SuperCHANNEL Command Line Utility.

The SNU class path is defined in snu.bat. By default this file is located in C:\ProgramData\STR\SuperCHANNEL\bin

Make a backup copy of this file before making any changes.

Locate the following section:

JAVA
"%JAVA_HOME%\bin\java" %JAVA_OPTS% -Xmx%SNU_JVM_HEAP% 
    -classpath "%CLASSPATH%;.;%SNU_PROGRAM_HOME%\jar\*;%SNU_PROGRAM_HOME%\jar\drivers\*;%SNU_PROGRAM_HOME%\jar\channel\*" 
    "-Djava.library.path=%SNU_PROGRAM_HOME%\bin" "-Dsxv4driver.home=%SNU_DATA_HOME%\bin" 
    "-Dsnu.data.home=%SNU_DATA_HOME%" "-Dsnu.program.home=%SNU_PROGRAM_HOME%" str.snu.snu %1 %2 %3 %4 %5 %6 %7 %8 %9

To use SNU with this source, the -classpath setting must include the location of your driver. As you can see, the class path already includes all files in the %SNU_PROGRAM_HOME%\jar\drivers\ directory, so this step is only required when you have stored the driver somewhere else.

Add the driver location to the class path. For example:

JAVA
"%JAVA_HOME%\bin\java" %JAVA_OPTS% -Xmx%SNU_JVM_HEAP% 
    -classpath "%CLASSPATH%;.;%SNU_PROGRAM_HOME%\jar\*;%SNU_PROGRAM_HOME%\jar\drivers\*;%SNU_PROGRAM_HOME%\jar\channel\*;E:\drivers\h2-1.3.171.jar" 
    "-Djava.library.path=%SNU_PROGRAM_HOME%\bin" "-Dsxv4driver.home=%SNU_DATA_HOME%\bin" 
    "-Dsnu.data.home=%SNU_DATA_HOME%" "-Dsnu.program.home=%SNU_PROGRAM_HOME%" str.snu.snu %1 %2 %3 %4 %5 %6 %7 %8 %9
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.