Downloads

Additional Database Drivers in RDM Server

RDM Server, the ONE Runtime Server instance that runs the plans, workflows, and online services generated from your RDM project, ships with a set of JDBC drivers. Some of these drivers are not registered in the server runtime configuration by default and must be declared before a data source can use them.

Drivers are declared in the databaseDrivers section of the server runtime configuration (.runtimeConfig). A declaration gives the driver a name, names its JDBC driver class, and points to the JAR files that contain it.

Driver location

Bundled drivers are stored in the runtime/lib/jdbc folder of the RDM Server installation, with one subfolder per vendor, for example runtime/lib/jdbc/snowflake.

The JAR file name contains the driver version, which changes between releases. Either verify the exact file name in your deployment, or point the classpath entry to the whole folder using a wildcard, so that the declaration survives an upgrade:

<classpathEntry path="runtime/lib/jdbc/snowflake/*"/>

A classpath entry can be an absolute path or a path relative to the RDM Server installation folder.

Declare the driver

Add a databaseDriver element to the databaseDrivers section:

runtimeConfig
<databaseDrivers>
    <databaseDriver driverClass="net.snowflake.client.jdbc.SnowflakeDriver" name="Snowflake">
        <classpath>
            <classpathEntry path="runtime/lib/jdbc/snowflake/*"/>
        </classpath>
    </databaseDriver>
</databaseDrivers>

Use the driver in a data source

A data source selects a declared driver through its driverName attribute, which must match the name of the databaseDriver element:

<dataSource name="SnowflakeDS"
            driverName="Snowflake"
            url="jdbc:snowflake://<account>.snowflakecomputing.com/?db=<database>"
            user="<user_name>"
            password="<password>"/>

Restart RDM Server for the change to take effect.

Ataccama Cloud deployments

In Ataccama Cloud and Custom Ataccama Cloud deployments, .runtimeConfig is generated by the RDM Server Helm chart and cannot be edited directly. Provide the driver declarations in the runtimeDatabaseDrivers.xml file in the runtime folder of your RDM project instead.

The file is included in the generated runtime configuration as an XML external entity, so it must contain only databaseDriver elements: no XML declaration and no root element. Projects created from the RDM project templates already contain runtime/runtimeDatabaseDrivers.xml with a commented-out example.

The RDM Server installation folder is /opt/ataccama, which makes the driver folders available under /opt/ataccama/runtime/lib/jdbc.

runtimeDatabaseDrivers.xml
<databaseDriver driverClass="net.snowflake.client.jdbc.SnowflakeDriver" name="Snowflake">
    <classpath>
        <classpathEntry path="/opt/ataccama/runtime/lib/jdbc/snowflake/*"/>
    </classpath>
</databaseDriver>

Commit the file to the branch of the configuration Git repository that your environment uses, and push the change.

The file is included in the runtime configuration only when the rdmServerConfig.databaseDrivers.enabled value of the RDM Server Helm chart is set to true (default: false):

rdmServer:
  rdmServerConfig:
    databaseDrivers:
      enabled: true

Enable the value only after runtimeDatabaseDrivers.xml is present in the configuration Git repository. If the file is missing, the runtime configuration cannot be parsed and RDM Server does not start.

Was this page useful?