Importing Extensions

To import any of the following elements, use the dialog Extensions management:

To open this, click the menu File > Extension Management. Then, depending on the element you are going to import, go to one tab or the other:

  • Tab Extensions: to import a Denodo stored procedures, custom functions, custom wrappers and custom policies.

  • Tab Libraries: to import any other resource.

When you import an extension, the file is uploaded to the installation of Virtual DataPort where you are connected. In addition, if you configured Virtual DataPort to store the catalog on an external database, the extensions will also be stored on this database and it will become available to the Virtual DataPort servers that share the same database.

Importing a JDBC Driver

To import a JDBC driver, follow these steps:

  1. Click the menu File > Extensions management.

  2. Click the tab Libraries and then, click Import.

  3. In the new dialog, in Resource type, select jdbc.

  4. In Version, select the driver you are going to upload. For example, if you are going to upload the driver of MySQL 5, select mysql-5.

  5. Click Add and select the file(s). To select more than one file, hold the key Ctrl and select each file.

  6. Click Ok to upload the file(s) to Virtual DataPort.

Importing a JDBC Driver for a Database that is not Listed

Occasionally, you may need to connect to a database for which there is not a specific adapter:

  1. When connecting to a database for which Denodo does not provide an adapter (you have to use the Generic JDBC adapter).

  2. Or, Denodo provides an adapter for the database but for an older version. In this case, depending on the database, you may or may not need to import a new driver. For example, for Oracle you can use the driver of an older version to connect to a newer version. But for other databases, you do need to use the driver of the new version.

In this case, follow these steps:

  1. Click the menu File > Extensions management.

  2. Click the tab Libraries and then, click Import.

  3. In the new dialog, in Resource type, select jdbc_other.

  4. In Custom version, enter a name of this driver. This is the name you will select in the dialog to configure the JDBC data source. For example “mysql-8”.

  5. Click Add and select the file(s) of the driver. To select more than one file, hold the key Ctrl and select each file.

  6. Click Ok to upload the file(s) to Virtual DataPort.

  7. Open the data source. If your already had it open, close it and open again to refresh the list of drivers.

  8. In the configuration of the JDBC data source, in Database adapter, select this:

    1. Generic if you are connecting to a database for which Denodo does not provide an adapter.

    2. To connect to a database that is listed here but the version you are connecting to is newer than the versions listed here, select the most recent adapter for this database.

    Then, in Driver class path, select the driver you just uploaded.

Importing Other Types of Elements

Options available in the Resource type list of the dialog Import resources (tab Libraries):

  • jdbc: for the JDBC driver of a database for which Denodo has a connector but does not include its JDBC driver.

  • jdbc_other: for the JDBC driver for a database that is not listed in this dialog or whose version is not listed. You will also have to enter a Custom version.

  • essbase: to import the driver for Oracle Essbase.

  • jar: to import a jar file that is not a JDBC driver.

    Note

    To import a custom function, a custom policy, a custom wrapper or a Denodo stored procedure, use the tab Extensions. If the extension depends on other jars, upload the dependencies - not the extension itself - as an element of type “jar”.

  • library: to import “dll” files or a “so” files.

  • sapjco: to install the files of the SAP Java Connector (JCo).

  • vault: to import the files required by the credentials vault.

Using a Script to Upload Extensions

In addition to upload extensions using the Administration Tool, you can do so using the script <DENODO_HOME>/bin/importResources. With this, you can automate the process of uploading extensions (e.g. JDBC drivers) to several Virtual DataPort servers.

Note

If you did not configure Virtual DataPort to store the metadata on an external database, we recommend stopping Virtual DataPort before executing this script.

Syntax of the script “importResources”
importResources -t resource-type [-v resource-version] -p path-to-resource

importResources --type <resource-type>
                [--version <resource-version>]
                --path <path-to-resource>

Options available in the parameters --type and --version (if applies):

  • essbase: to import the driver for Oracle Essbase. Versions available ‘11’ and ‘9’.

  • jar: to import a jar file.

  • jdbc: for the JDBC driver of a database for which Denodo has a connector but does not include its JDBC driver. Requires parameter --version with one of the known drivers. For example, 'mysql-5'

  • jdbc_other: for the JDBC driver for a database that is not listed in this dialog or whose version is not listed. Requires parameter --version with a custom version name.

  • kerberos: to import Kerberos files. Requires parameter --version with value keytab for importing the keytab file, or krbconf for importing the configuration file used for server authentication with Kerberos.

  • library: to import “dll” files or a “so” files.

  • sapjco: to install the files of the SAP Java Connector (JCo).

  • vault: to import extensions associated with Credentials Vault. Requires parameter --version and only cyberark is supported by now.

Parameters of the importResources script

Parameter Name

Description

-t

--type <resource-type>

Type of the resource to import.

-v

--version <resource-version>

Version or type of the resource to import.

-p

--path <path-to-resource>

Path to a file or to a directory. In case of directory, all files inside are imported.

Examples

Example 1:

Uploads the JDBC driver of MySQL 5.x:

importResources --type jdbc --version mysql-5 --path /my-drivers/mysql/mysql-connector-java-5.1.49-bin.jar

Example 2:

Uploads the JDBC driver of MySQL 8. Note that we use “–type jdbc_other” because Denodo does not have an adapter for MySQL 8 yet. The script imports all the files in the folder “/my-drivers/mysql/mysql-8/”.

importResources --type jdbc_other --version my-mysql-8 --path /my-drivers/mysql/mysql-8/

Example 3:

Uploads a keytab for Kerberos authentication.

importResources --type kerberos --version keytab --path /my-kerberos-conf/denodo.keytab