Configuration of the Thin Kettle JDBC driver

NOTE:

This page references documentation for Pentaho, version 5.4.x and earlier.  To see help for Pentaho 6.0.x or later, visit Pentaho Help.

Prerequisites

You need an installed version of the Pentaho Data Integration Server (DI-Server) or Carte with Version 5.0 GA (Enterprise Edition) or later versions.

Configuring the DI-Server as a Data Service Server

File based

When running only file based, no further configuration is needed. The data services are taken from the

<users home folder>.pentaho/metastore folder

  • You need to make sure, that this folder is accessible on the DI-Server.
  • When running the DI-Server as a Windows server, please see the comment below (in the DI-Repository section) for different <users home folders> when running as a service.

DI-Repository

When using the DI Repository, the following configuration is needed:

  • Edit the file data-integration-server/pentaho-solutions/system/kettle/slave-server-config.xml
  • Add the <Repository> information (see Carte Configuration). For example:
<slave_config>
[...]
  <repository>
    <name>Repository Name (shown within Spoon as the ID)</name>
    <username>username</username>
    <password>password</password>
  </repository>
</slave_config>

Note: The Repository Name is shown in your Repository Configuration screen within Spoon as the ID. Within the repositories.xml file the Repository Name is stored in the <name> element.

The given user needs to have access rights to the DI repository. The password can given encrypted (using the Encr tool).

If you are doing this the first time after the default installation: For the DI-Server repository you can use the standard admin account to test with password "password".

  • The DI-Server needs to have access to the repositories.xml file (normally in your <users home folder>/.kettle

Note: When running the DI-Server as a Windows server, please remember that the KETTLE_HOME folder with the repository.xml file is depending on the Log on user-name of the Windows Service named Data Integration is running with (you can verify the Log on user account within the Windows services). This is by default the local system account and may need to be changed to a different log on user acount according to your needs.

You can find further information about Changing the PDI Home Directory Location (.kettle folder) within the InfoCenter.

  • Make sure to restart the DI Server (or the Data Integration Windows service)
  • You can check the successfully connection to the DI repository by opening the DI-Server page, after login e.g. http://localhost:9080/pentaho-di/kettle/status
  • Please check the information in the Configuration details / Repository name: There should be the correct name and no error.
  • List the services, e.g. by http://localhost:9080/pentaho-di/kettle/listServices
    once you defined a service within the DI Repository it is listed here

Configuring Carte as a Data Service Server

  • Create a slave server configuration file, e.g. slave-server-config.xml as outlined in the Carte Configuration documentation
  • Make sure to add the <Repository> information, for example:
<slave_config>
[...]
  <repository>
    <name>Repository Name (shown within Spoon as the ID))</name>
    <username>username</username>
    <password>password</password>
  </repository>
</slave_config>

Note: The Repository Name is shown in your Repository Configuration screen within Spoon as the ID. Within the repositories.xml file the Repository Name is stored in the <name> element.

The given user needs to have access rights to the DI repository. The password can given encrypted (using the Encr tool).

If you are doing this the first time after the default installation: For the DI-Server repository you can use the standard admin account to test with password "password".

Remark: This is not the login user name for the Carte server (by default cluster/cluster as defined in the data-integration/pwd/kettle.pwd file

  • The  Carte Server needs to have access to the repositories.xml file (normally in your <users home folder>/.kettle

Note: When running the Carte Server with a different user name you may need to change this according to your needs.

You can find further information about Changing the PDI Home Directory Location (.kettle folder) within the InfoCenter.

  • Startup the Carte server with the configuration file, e.g. sh carte.sh slave-server-config.xml
  • You can check the successfully connection to the DI repository by opening the Carte status page, after login e.g. http://localhost:8080/kettle/status
  • Please check the information in the Configuration details / Repository name: There should be the correct name and no error.
  • List the services, e.g. by http://localhost:8080/kettle/listServices
    once you defined a service within the DI Repository it is listed here

Configuring Clients

Follow these guidelines to connect with a JDBC compliant client to the Data Service Server:

In general, the following jar files need to be on the class path and eventually copied to the client tool from data-integration/lib folder. The listed jar file names are used in the 5.0.0 distribution. Later versions may be different.

  • kettle-core-5.0.0.jar
  • kettle-engine-5.0.0.jar
  • commons-httpclient-3.1.jar
  • commons-codec-1.5.jar
  • commons-lang-2.6.jar
  • commons-logging-1.1.1.jar
  • commons-vfs-20100924-pentaho.jar (depending on the use case, also VFS 1.0)
  • log4j-1.2.16.jar
  • scannotation-1.0.2.jar

A couple of client examples can be found in the Examples section.

Use the following details to configure the JDBC driver for the client:

  • The JDBC driver uses the following class: org.pentaho.di.core.jdbc.ThinDriver (Note: This is the Pentaho 5.4.x and earlier driver class.)
  • The URL is in the following format: jdbc:pdi://hostname:port/kettle?option=value&option=value

Example JDBC URLs:

  • for accessing the Data Integration server you need to add the ?webappname=pentaho-di option, e.g.:
    jdbc:pdi://localhost:9080/kettle?webappname=pentaho-di
  • for accessing the Carte server, e.g.: jdbc:pdi://localhost:8084/kettle

Please see the JDBC and SQL Reference for more details.