Der Pentaho Report Designer (PRD) lässt sich mit allen Datenbanken verbinden zu denen es JDBC Treiber gibt. Außerdem können einige weitere Datenquellen angebunden werden. Als NoSQL Datenbank wird die bekannte MongoDB unterstützt. Exemplarisch wird hier die Verbindung zu einer MySQL Datenbank gezeigt:
1. Treiber für die entsprechende Datenbank herunterladen und in das Verzeichnis“..\PenthaoReportDesigner\lib\jdbc\“ entpacken. Für MySQL heißt der Treiber Connector/J und kann hier als Plattform Independent Treiber in Form einer JAR-Datei (mysql-connector-java-5.1.30-bin.jar) heruntergeladen werden.
2. Im PRD oben rechts im Tab „Data“ einen Rechtsklick auf „Data Sets“ machen und JDBC wählen.
3. Im Fenster „JDBC Data Connection“ kann über das „+“ eine neue Verbindung hinzugefügt werden oder die „Custom Connection“ angepasst werden.
4. Im darauf folgenden Fenster wird die Datenbank ausgewählt und deren Zugangsdaten eingegeben. Für eine MySQL Datenbank sind dies die IP-Adresse des DB Server (127.0.0.1 oder localhost für eine lokale DB) und der Port 3306. Als Benutzer kann der root Benutzer mit entsprechenden Passwort gewählt werden.
5. Soll der Report in einem Pentaho BI Server oder einem Java Programm genutzt werden, sollte die Datenbankverbindung über einen JNDI Lookup erfolgen. So kann die DB-Verbindung für alle Reports zentral verwaltet werden.
Die JDBC Einrichtung zeigt folgender Screenshot:
Die Verbindung zur Datenbank kann alternativ auch als „Generic Database“ hergestellt werden. Dazu wird der Connection String, Benutzer und Passwort der DB und der Name des Treibers angegeben. Einige Connection Strings sind unten aufgeführt:
Datenbank | Connection String | Treiber Classname |
IBM DB2 | jdbc:db2://HOST:PORT/DB | COM.ibm.db2.jdbc.app.DB2Driver |
Microsoft SQL Server | jdbc:weblogic:mssqlserver4:DB@HOST:PORT | weblogic.jdbc.mssqlserver4.Driver |
Oracle Thin | jdbc:oracle:thin:@HOST:PORT:SID | oracle.jdbc.driver.OracleDriver |
Firebird (JCA/JDBC Driver) | jdbc:firebirdsql:[//HOST[:PORT]/]DB | org.firebirdsql.jdbc.FBDriver |
Microsoft SQL Server (JTurbo Driver) | jdbc:JTurbo://HOST:PORT/DB | com.ashna.jturbo.driver.Driver |
Microsoft SQL Server (Sprinta Driver) | jdbc:inetdae:HOST:PORT?database=DB | com.inet.tds.TdsDriver |
MySQL (Connector/J) | jdbc:mysql://HOST:PORT/DB | org.gjt.mm.mysql.Driver |
Oracle OCI 8i | jdbc:oracle:oci8:@SID | oracle.jdbc.driver.OracleDriver |
Oracle OCI 9i | jdbc:oracle:oci:@SID | oracle.jdbc.driver.OracleDriver |
PostgreSQL (v6.5 and earlier) | jdbc:postgresql://HOST:PORT/DB | postgresql.Driver |
PostgreSQL (v7.0 and later) | jdbc:postgresql://HOST:PORT/DB | org.postgresql.Driver |
Sybase (jConnect 4.2 and earlier) | jdbc:sybase:Tds:HOST:PORT | com.sybase.jdbc.SybDriver |
Sybase (jConnect 5.2) | jdbc:sybase:Tds:HOST:PORT | com.sybase.jdbc2.jdbc.SybDriver |