Skip to main content
Skip table of contents

Oracle 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.

Oracle

If your source data is stored in an Oracle database, then you need to configure SuperCHANNEL to use an appropriate JDBC driver.

Step 1 - Download and Install the Driver

  1. Download an appropriate driver from https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html (you only need to download the driver JAR file).
  2. SuperCHANNEL can access the driver file from anywhere on your system, but you are recommended to copy the .jar file 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 (replace the path and filename with the location of the driver jar file on your system):

    TEXT
    $(SNU_PROGRAM_HOME)\jar\drivers\ojdbc8.jar;

    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
    :oracle.jdbc.driver.OracleDriver

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

  5. Locate the line that defines the jdbc.table.types property and check that it is set to TABLE:VIEW (this enables both Oracle tables and views to be seen in SuperCHANNEL).
  6. Locate the line that defines the str.oracle.fix property and check that it is set to yes.

    The following example shows the additions to the configuration file:

  7. Save config.txt.

Step 3 - Start SuperCHANNEL

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

TEXT
jdbc:oracle:thin:@<servername>:<port>:<databasename>

Where:

  • <servername> is the name of your host for Oracle.
  • <port> is the port to use to communicate with Oracle (the default is 1521).
  • <databasename> is the SID of the source database to connect to.

You will also need to provide user credentials (for Oracle authentication):

When a connection is made with Oracle, available schemas appear in the Schema window for selection.

If you have to connect to Oracle RAC (Real Application Cluster) using JDBC with the thin driver, the classic URL (jdbc:oracle:thin:@<servername>:<port>:<databasename>) does not work.

If you see the error ORA – 12505, use the following URL format instead:

TEXT
jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=TCP)(HOST=host1) (PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=host2) (PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=service))) 

Check tsnames.ora for the correct values of SERVICE_NAME and host.

Using Views

When connecting to an Oracle database, SuperCHANNEL's Source View only displays the names of synonyms contained in the selected schema. It does not display the columns of the underlying tables associated with the synonyms.

If you are using views, you can display the columns in the Source View for the Oracle Synonyms by setting the includeSynonyms property in config.txt to true and setting jdbc.table.types to TABLE:VIEW:SYNONYM. See config.txt for more information about these configuration options.

The includeSynonyms property is an Oracle JDBC driver property. Use of this flag carries a performance penalty. If you do not need views, disable this feature by setting the flag to false.

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\ojdbc8.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.