Raspberry Pi – DynDNS mit noip.com

Um auf dem Raspberry Pi Serverdienste anbieten zu können, die über das Internet erreichbar sind, steht vor dem Problem, das die meisten ISP (Internet Service Provider), insbesondere bei DSL-Anschlüssen, eine Zwangstrennung vornehmen und somit die IP-Adresse im Internet wechselt.
Um das Problem zu umgehen bieten DynDNS Anbieter die Möglichkeit eine DNS Adresse (z.B. meinraspi.ddns.net) zu registrieren, die über eine Software auf dem Router oder eben dem Raspberry Pi immer mit der aktuell gültigen IP Adresse aktualisiert wird. Das Tutorial beschreibt das Vorgehen für den DynDNS Anbieter noip.com. Er bietet kostenlose DynDNS Adressen und einen Client der auf dem Raspbian Linux läuft.

1. Registrieren bei no-ip.com
2. Danach wird die DynDNS Adresse über den Menüpunkt Hosts/Redirects auf “Add Host” erstellt.

3. no-ip Update Client auf dem Raspi installieren. Dazu über SSH als USer pi anmelden und den Schritten folgen:

Software herunterladen:

wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz

und entpacken:

sudo tar xf noip-duc-linux.tar.gz

In das neu erstellte Verzeichnis wechseln:

cd noip-2.1.9-1/

Software compilieren/installieren:

sudo make install

Bei der Installation werden die Logindaten für no-ip abgefragt, sowie welche Adresse in welchem Intervall aktualisiert werden soll.
Anschließend kann die no-ip Software gestartet werden:

sudo noip2

Zur Kontrolle ob die Software ausgeführt wird, kann die Prozessliste aufgerufen werden:

ps ax

Damit die no.ip Software beim nächsten Start des Raspberry Pi automatisch gestartet wird kann sie über CRON automatisch gestartet werden.

crontab -e

In die Datei den folgenden Befehl aufnehmen

@reboot cd /home/pi/noip-2.1.9-1 && sudo noip2

Nun ist das Heimnetzwerk über die eingerichtete DNS Adresse aus dem Internet erreichbar. Damit einzelne Dienste, wie z.B. ein Webserver, auf dem Raspberry Pi erreicht werden können muss auf dem Router eine entsprechende Port-Weiterleitung eingerichtet werden.

geposted: 28. November 2014 | aktualisiert: 28. November 2014 | Autor: Marcus Hottenrott
Kategorie(n): Raspberry Pi

Logging mit log4j in Maven Projekt integrieren

Log4j Properties in Maven Projekt integrierenLog4j ist eine logging Library der Apache Software Foundation und ermöglicht es Log-Ausgaben im Programm an verschiedenste Ziele zu schreiben. Das bekannteste Ziel ist sicher das Schreiben der Logmeldungen in eine Log-Datei, aber auch das schreiben der Meldungen in eine Datenbank oder das Verschicken per E-Mail ist möglich. Das Ziel der Meldungen wird über sogenannte Log-Appender in der Datei log4j.properties konfiguriert. Diese liegt in einem Maven Projekt in dem Resourcen Verzeichnis. (siehe Bild)

Datei: log4j.properties

# Root logger option
log4j.rootLogger=DEBUG, file
# LogLeel DEBUG und akive appender Console und Log-Datei

# Log to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Log to file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./log.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=2
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Log to mail
log4j.appender.email=org.apache.log4j.net.SMTPAppender
log4j.appender.email.SMTPHost=mail.mydomain.com
log4j.appender.email.SMTPUsername=myuser@mydomain.com
log4j.appender.email.SMTPPassword=mypw
log4j.appender.email.From=myuser@mydomain.com
log4j.appender.email.To=myuser@mydomain.com
log4j.appender.email.Subject=Log of messages
log4j.appender.email.BufferSize=1
log4j.appender.email.EvaluatorClass=TriggerLogEvent
log4j.appender.email.layout=org.apache.log4j.PatternLayout
log4j.appender.email.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Log to DB
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DB.URL=jdbc:mysql://localhost/DBNAME
log4j.appender.DB.driver=com.mysql.jdbc.Driver
log4j.appender.DB.user=user_name
log4j.appender.DB.password=password
log4j.appender.DB.sql=INSERT INTO LOGS VALUES('%x','%d','%C','%p','%m')
log4j.appender.DB.layout=org.apache.log4j.PatternLayout

# CREATE TABLE LOGS
#   (USER_ID VARCHAR(20) NOT NULL,
#    DATED   DATE NOT NULL,
#    LOGGER  VARCHAR(50) NOT NULL,
#    LEVEL   VARCHAR(10) NOT NULL,
#    MESSAGE VARCHAR(1000) NOT NULL
#   );

Die erste Zeile der obigen Datei wird konfiguriert das Meldungen ab dem DEBUG-Level und darunter in eine Datei geschriebenen werden. Der Detailgrad wird mit steigender Anzahl an Meldungen durch die Level OFF, FATAL, ERROR, WARN, INFO, DEBUG und ALL angegeben.
Um log4j in das Programm zu integrieren reicht es die Dependency in der pom.xml hinzuzufügen. Log4j findet die weiter oben gelistete Konfigurationsdatei von alle, wenn sie sich im Resource-Verzeichnis befindet.

<dependencies>
	<dependency>
		<groupId>log4j</groupId>
		<artifactId>log4j</artifactId>
		<version>1.2.17</version>
	</dependency>
</dependencies>

Das Ausgeben der Logmeldungen auf verschiedenen Log-Ebenen ist mit wenigen Zeilen Code erledigt:

import org.apache.log4j.Logger;
public class LoggingTest{
   private static Logger logger = Logger.getLogger(LoggingTest.class);
   logger.info("Info");
   logger.warn("Warn");
   logger.error("Fehlermeldung");
}
geposted: 12. Oktober 2014 | aktualisiert: 12. Oktober 2014 | Autor: Marcus Hottenrott
Kategorie(n): Java, Maven

WildFly – Debug-Mode aktivieren und mit Eclipse verbinden

Um eine Anwendung im WildFly Applicationserver deployte Anwendung zu debuggen muss eine Debug-Verbindung zwischen IDE und Server hergestellt werden. Dies ist mit wenigen Handgriffen erledigt. Dazu wird zunächst WildFly im Debug-Mode gestartet, indem es mit dem Parameter –debug gestartet wird: „WILDFLY_HOME\bin\standalone.bat –debug“.
Wird der WildFly Server zur Entwicklung genutzt empfiehlt es sich ihn so zu konfigurieren, das er dauerhaft im Debug-Mode startet. Dies kann in der Batchdatei zum Starten dauerhaft aktiviert werden. „WILDFLY_HOME\standalone\bin\standalone.bat“:

set DEBUG_MODE=true
set DEBUG_PORT=8787

Eclipse Debug Konfiguration
Wenn WildFly im Debug-Mode läuft muss nur noch aus Eclipse eine TCP/IP Verbindung zum Port 8787 des WildFly Servers hergestellt werden. Die Eclipse-Konfiguration kann den Bildern entnommen werden. Im Beispiel läuft der Server auf dem lokalen Rechner. Ist dies nicht der Fall muss die IP Adresse des entfernten Widfly Servers genutzt werden. Nachdem die Verbindung zwischen Eclipse und WildFly hergestellt ist, werden Breakpoints die in der linken Leiste im Quellcode gesetzt werden aktiv. Zu erkennen an dem kleinen Häkchen.
Eclipse - WildFly Debug Connection

geposted: 4. Oktober 2014 | aktualisiert: 19. Juni 2015 | Autor: Marcus Hottenrott
Kategorie(n): Wildfly

WildFly – Systemproperties konfigurieren und auslesen

Im WildFly Anwendungsserver können über die Systemproperties Werte gesetzt werden auf die die deployten Anwendungen zugreifen können. Dies stellt einen einfachen Weg zum Konfigurieren von Anwendungen dar. Die Konfiguration wird in der Datei „/WILDFLY_HOME/standalone/configuration/standalone.xml“ vorgenommen:

<server xmlns="urn:jboss:domain:1.3">
  <extensions>
  ...
  </extensions>
  <system-properties>
    <property name="property1name" value="property1value"/>
    <property name="property2name" value="property2value"/>
  </system-properties>
	...
</server>

Auslesen der Systemproperties im Java Programm:

String valueProperty1 = System.getProperty("property1name");

Betriebssystem Umgebungsvariablen auslesen

Auch auf die Systemvariablen des Betriebssystem lässt sich zugreifen:

System.getenv("NAME_DER_UMGEBUNGSVARIABLE ");
geposted: 4. Oktober 2014 | aktualisiert: 4. Oktober 2014 | Autor: Marcus Hottenrott
Kategorie(n): Java, Wildfly

WildFly – Administration über die Webkonsole, CLI und Standalone.xml

WildFly speichert seine Konfiguration XML-formatiert in einer Datei ab. Die Konfiguration des Server kann direkt in dieser Datei erfolgen, oder alternativ über die Weboberfläche oder das Command Line Interface. Im folgenden werden die unterschiedlichen Wege kurz vorgestellt.

Weboberfläche

Wildfly stellt auf Port 9990 eine Weboberfläche zur Konfiguration einiger Systemeinstellungen bereit und liefert Informationen zur JVM und Systemumgebung. Zu einigen Subsystem werden Daten angezeigt und Konfigurationsmöglichkeiten angeboten. Dazu zählen u.a. Datasources, JPA, JNDI, Transactions und Webservices.

Bevor auf die Webmanagement-Oberfläche zugegriffen werden kann muss ein Management-User angelegt werden. Dazu führen Sie das Skript „add-user.bat“ unter Windows (wildfly_root\bin\add-user.bat) oder „add-user.sh“ unter Linux aus und folgen den Anweisungen.
Anschließend kann sich mit dem neuen Benutzer angemeldet werden:

http://127.0.0.1:9990/
Wildfly Webmanagement

Wildfly Webmanagement

CLI – Command Line Tool

Wildfly_CLI_GUI
Seit JBoss AS 7 gibt es ein Command Line Interface (CLI) Tool mit dem man sich zum Server verbinden kann und diverse Aufgaben durchführen kann. U.a:

  • Anwendungen im Standalone/Domain Mode deployen oder undeployen
  • Informationen zu deployten Anwendungen anzeigen
  • Starten, stoppen und neustarten des Servers
  • Hinzufügen, ändern und löschen von Subsystemen
  • Anzeige von Logdateien

    • Das CLI Tool wird über ein Skript (jboss-cli.bat oder sh) im Bin-Verzeichnis gestartet.

      "WILDFLY_HOME/bin/jboss-cli.bat"

      Mit dem Parameter gui „jboss-cli.bat –gui“ kann die Konsole in einer grafischen Ausführung gestartet werden:

      XML Konfigurationsdatei

      Wildfly speichert seine Konfiguration als XML formatierte Datei ab. Diese liegt für Standalone-Anwendungen in „WILDFLY_HOME/standalone/configuration/standalone.xml“ und für geclusterte Anwendungen, die in einer Domain zusammengefasst werden und sich eine Konfiguration teilen, in „WILDFLY_HOME/domain/configuration/domain.xml“.

      Die Konfigurationsdatei enthält für jedes Subsystem einen einzelnen Konfigurationsblock. Einige der häufiger benötigten Subsysteme sind u.a. Datasources zur Verbindung zu Datenbanken, Mail und Logging. Im unteren Part finden sich mit den Interfaces und Socket-Binding-Groups die Konfigurationseinstellungen auf welchen Ports der Wildfly Server Dienste bereit stellt. Hier ist z.B. konfiguriert, das der Server mit den Default-Einstellungen seine Dienste nur auf der lokalen IP-Adresse bereitstellt (localhost – 127.0.0.1)

geposted: 20. Juli 2014 | aktualisiert: 4. Oktober 2014 | Autor: Marcus Hottenrott
Kategorie(n): Wildfly

WildFly – Installieren und als Dienst ausführen

Wildfly- UmgebungsvariableWildfly ist ein Application Server für Java Anwendungen der den Java EE Standard implementiert. Er ist leicht zu installieren, da es ausreicht ein aktuelles Java JRE oder JDK auf dem System zu installieren und das Wildfly Zip-Archiv zu entpackt. Die Systemvariablen sollten um eine Variable „WILDFLY_HOME“ erweitert werden, die auf das Root-Verzeichnis des Wildfly Servers zeigt. (Win7: Rechtsklick Computer -> Eigenschaften -> Erweiterte Systemeinstellungen -> Umgebungsvariablen) (Siehe Screenshot) Unter Linux wird die Systemvariable mit dem Export Befehl gesetzt: „export WILDFLY_HOME=/opt/wildfly/“

Zum Starten des Servers reicht es unter Windows die Datei „standalone.bat“ oder unter Linux die Datei „standalone.sh“ im „bin“ Verzeichnis zu starten. In einer Produktivumgebung empfiehlt es sich WildFly als Windows-Dienst oder Linux Service einzurichten.

Wildfly als Windowsdienst einrichten

Gegenüber dem JBoss AS7 ist die Installation des WildFy Anwendungsservers als Windowsservice sehr einfach, da bereits alles „ab Werk“ mit ausgeliefert wird. Dazu wird lediglich die Batchdatei „WILDFLY_HOME\bin\service\service.bat“ mit dem Parameter „install“ aufgerufen. Die Verwaltung des Dienstes inklusive Starten und Stoppen erfolgt wie gewohnt über die Computerverwaltung. Siehe Screenshot. (Windows7: Rechtsklick Computer Icon -> Verwalten -> Dienste – und Anwendungen Dienste)

Wildfly Windowsservice

Wildfly Windowsservice

WildFly als Linux Service einrichten

Um WildFly als Linux Service einzurichten werden die Skripte aus dem Verzeichnis „WILDFLY_HOME/bin/init.d“ verwendet. In diesem Verzeichnis finden sich die folgenden Skripte:

wildfly-init-redhat.sh: Dieses Skript wird für Red Hat Enterprise Linux Distributions verwendet wie RHEL oder Centos.
wildfly-init-debian.sh: Dieses Skript wird für Debian basierende Distributionen wie Debian oder Ubuntu verwendet.
wildfly.conf: Diese Datei enthält die Konfiguration für die beiden oben genannten Init-Skripte.

1. WildFly nach „/opt/wildfly“ entpacken oder kopieren. z.B. mit WinSCP. Sofern das Java JRE installiert ist, kann der WildFly Server bereits testweise gestartet werden, indem das Shell Skript „WILDFLY_HOME/bin/standalone.sh“ ausgeführt wird.

cd /opt/wildfly/bin/
./standalone.sh
Wenn die Berechtigungen nicht zum Ausführen des Skriptes reichen müssen sie entsprechend gesetzt werden:
chmod 777 standalone.sh

2. Das zur Linux Distribution passende Skript wird in das Verzeichnis „/etc/init.d“ kopiert. Für RHEL sieht dies ausgehend vom Verzeichnis „WILDFLY_HOME/bin/init.d“ wie folgt aus:

cp wildfly-init-redhat.sh /etc/init.d/wildfly

3. Die Konfigurationsdatei „wildfly.conf“ muss in das Verzeichnis „/etc/default/wildfly“ kopiert werden, damit das Startskript sie findet:

mkdir /etc/default/wildfly
cp wildfly.conf /etc/default/wildfly

4. Anschließend wird die Konfigurationsdatei angepasst. Dazu kann der Editor Nano oder vi genutzt werden:

nano /etc/default/wildfly/wildfly.conf

Der Pfad zum Java JDK und der User unter dem der Wildfly Service ausgeführt werden sollen müssen entsprechend angepasst werden. Ein neuer User kann mit dem Befehl „adduser“ angelegt werden:

JAVA_HOME=/usr/java/jdk1.7.0_21
# Location of WildFly
JBOSS_HOME=/usr/share/wildfly.8.0.0.Final
# The username who should own the process.
JBOSS_USER=wildfly
# The mode WildFly should start, standalone or domain
JBOSS_MODE=standalone
# Configuration for standalone mode
JBOSS_CONFIG=standalone.xml

5. Als nächstes wird dem Befehl „chkconfig“ das Wildfly Skript als Dienst eingerichtet. Der zweite Befehl setzt die Runlevel in denen der Dienst gestartet wird.

chkconfig --add wildfly
chkconfig --level 2345 wildfly on

6. Sofern alles richtig konfiguriert ist lässt sich der WildFly Service wie folgt starten und stoppen:

service wildfly start
service wildfly stop
geposted: 18. Juli 2014 | aktualisiert: 4. Oktober 2014 | Autor: Marcus Hottenrott
Kategorie(n): Wildfly

Pentaho Reporting – Localisation (i18n)

Der Pentaho Report Designer ermöglicht mit den Resource-Labeln eine Internationalisierung (i18n) der Reports. Dabei erhalten die Resource-Label einen Schlüssel/Key über den die jeweils gewünschte Übersetzung in der zur Sprache gehörenden Properties-Datei nachgeschlagen wird. Folgende Schritte sind nötig um den Report mehrsprachig zu erstellen:

Penatho_Report_i18n

1. Resource-Label in den Report einfügen.

2. Anschließend wird das Resource-Label konfiguriert. Die Einstellungen werden im rechten unter Fenster Attributes vorgenommen. Siehe Screenshot.

2.1. Der Name des Resouce Bundles (Properties-Datei) die in Punkt 3 angelget wird muss in das Attribut „resource-identifier“. In der Standardeinstellung sollte hier der Wert „translations“ verwedet werden. (Der Name der Properties-Datei ohne de Suffix *.properties)

2.2. Das Attribut „Name“ stellt den Schlüssel dar, der in der Properties-Datei nachgeschlagen wird. In diesem Fall heißt er „propertyValue“.

3. Nun wird ein Resource-Bundle angelegt in dem die Schlüssel nachgeschlagen werden. Dazu wird der Resource Deitor (File -> Resource) verwendet. Hier wird, falls noch nicht vorhanden, eine Properties-Datei mit dem Namen „translations.properties“ angelegt. In der Datei werden die Übersetzungen nach dem Schema „Schlüssel = Angezeigter Wert“ abgelegt.

4. Übersetzung für andere Sprachen
Übersetzungen für andere Sprachen werden angelegt, indem Resource-Bundles mit entsprechender Sprachekennung angelegt werden. z.B. „translations_en.properties“ oder „translations_de.properties“. Wird für die Sprache für die der Report aufgerufen wird kein Resource Bundle gefunden, so findet ein Fallback auf das translations.properties Bundle statt.

Wird der Report in eine Java Anwendung integriert wird die Locale an den MasterReport Übergeben:

      final MasterReport report = ... Report Template (.prpt) laden ...
      ((DefaultReportEnvironment) report.getReportEnvironment()).setLocale(locale);
geposted: 17. Juni 2014 | aktualisiert: 19. Juni 2014 | Autor: Marcus Hottenrott
Kategorie(n): Business Intelligence

Pentaho Reporting – Visuelle Darstellung einer Tabelle

Der Pentaho Report Designer bietet kein „Tabellenwerkzeug“ an. Um nun eine Tabelle mit gezeichneten Linien darzustellen hat sich folgender Weg als praktikabel herausgestellt. Dabei wird die Tabelle gezeichnet indem für das Datenband der Rahmen eingestellt wird und die vertikalen Linien durch Rechtecke mit der Höhe 100% und Breite 0 gezeichnet werden. Das Ergebnis kann dann so aussehen:
Pentaho Report DesignerTabelle mit sichtbaren Linien

1. Layout einstellen:
Als Layout für das Band in dem die Daten dargestellt werden (meist „Details“) kann das Row-Layout gewählt werden. Dadurch wird sichergestellt, das die Elemente alle bündig nebeneinander angeordnet werden. Das Standard Canvas Layout funktioniert aber auch.

2. Das Daten-Band und dessen Header-Band mit Linien einrahmen:
Dazu im Fenster „Structure“ (rechts oben) das Band auswählen und im Tab „Style“ im Abschnitt „border“ die 4 Borders auf solid mit einer Size von 0,5 setzen. Bei dem Datenband die obere Border nicht setzen, damit diese nicht doppelt gezeichnet wird. Sie wird durch die Umrandung des im Header-Band gebildet.

3. Vertikale Linien einfügen:
Dazu kann nicht die vertikale Linie aus den Komponenten am linken Rand verwendet werden, da diese nicht mit der Höhe der Felder skaliert. Stattdessen muss das Rechteck genommen werden und dessen „width“ auf 0 gesetzt wird und die „height“ auf 100%.

4. Datenfelder hinzufügen:
Die Datenfelder können einfach aus der Datenquelle im Data Tab in das Band gezogen werden. Damit die Felder die Daten bei Überlänge nicht abschneiden muss bei den Datenfeldern die dynamische Höhe aktiviert werden: Element auswählen -> Style Tab -> Abschnitt size & position -> dynamic-height = true
Ggf. noch bei dem Textfield padding -> bottom einstellen, damit der Text nicht genau mit der unteren Linie abschließt

Pentaho Report Designer - Konfigurieren der Linien

geposted: 16. Juni 2014 | aktualisiert: 16. Juni 2014 | Autor: Marcus Hottenrott
Kategorie(n): Business Intelligence

Pentaho Reporting – Verwendung von Parametern

Durch die Verwendung von Parametern können Reports dynamsich gestaltet werden. Beispielhaft wird dies hier an einem Report, der Informationen zu einem Kunden ausgibt, gezeigt. Der Report wird so erstellt, das er die Kundennummer als Parameter entgegen nimmt und mit dessen Hilfe Informationen zu dem Kunden anzeigt.

Parameter in den Report einfügen

Pentaho Reports können ein oder mehrere Parameter hinzugefügt werden, für die unterschiedliche Datentypen zur Verfügung stehen. Häufig verwendet wird der Typ Number um den Primärschlüssel eines Datensatzes aus der Datenbank an den Report zu übergeben. Dieser kann dann mit dem Primärschlüssel die benötigten Informationen laden und im Report anzeigen.
Ebenso ist es möglich Parameter als Felder im Report zu verwenden in dem sie einfach per Drag and Drop auf den Report gezogen werden.
Hinzugefügt werden Parameter im Pentaho Report Designer über das Data Tab und dort im Abschnitt Parameters. Ein Rechtsklick öffnet dort ein Menü in dem die Parameter hinzugefügt und bearbeitet werden könne. Weitere Details können dem folgenden Screenshot entnommen werden:
Pentaho Report Designer - Paramter hinzufügen

Parameter in Queries nutzen

Wie bereits angesprochen können Parameter auch in die SQL Abfragen des Reports eingebaut werden. Dazu wird der Paramter mit der Syntax ${PARAMETER_NAME} in das SQL Query integriert. Detailliert ist dies im folgenden Screenshot zu sehen:
Pentaho Report Designer - Parameter in Datenbankabfrage integrieren

Parameter in Subreports

Um Parameter in Subreports zu verwenden müssen diese zunächst in den Subreport importiert werden. Dazu gibt es im Subreport bei den Parametern den Abschnitt „Import Paramter“. Hier kann festgelegt werden welche Parameter aus dem Hauptreport importiert werden sollen und wie diese in dem Subreport heißen sollen. Der Einfachheit halber empfiehlt es sich die Namen in beiden Reports gleich zu wählen.
Hat man einen Report mit vielen Parametern und möchte alle in einen Subreport übertragen kann man sich das umfangreiche Mapping sparen indem als Importparameter der Platzhalter „*“ gewählt wird. Dadurch stehen alle Parameter im Subreport unter gleichem Namen wie im Hauptreport zur Verfügung.
Pentaho Report Designer - Paramter in Subreports verwenden

geposted: 15. Juni 2014 | aktualisiert: 15. Juni 2014 | Autor: Marcus Hottenrott
Kategorie(n): Business Intelligence

Pentaho Reporting – Datenbankabfrage und Integration der Ergebnisse in den Report

Jeder Report visualisiert die Datenmenge genau einer Datenbankabfrage. Sollen weitere Daten angezeigt werden können beliebig viele Subreports mit eigenen Datenbankabfragen eingefügt werden. Das Anlegen einer Datenbankabfrage geht dabei wie folgt:

1. Zunächst muss eine Datenquelle eingerichtet werden.
2. Über die hinzugefügte Datenquelle im Tab „Data Sets“ kann dann die Datenbankabfrage hinzugefügt werden. Rechtsklick auf die Datenquelle -> Edit Datasource. Siehe Screenshot. (Zum vergrößern anklicken)

Pentaho Report Designer - Datenfelder in den Report einfügen

3. Das SQL Query für die Datenbankabfrage kann in dem Tab „Static Query“ eingefügt werden. Siehe obigen Screenshot. Als Entwicklungshilfe für die Datenbankabfrage bietet der Pentaho Report Designer einen grafischen Query Designer der über das Stiftsymbol erreicht werden kann. Siehe den unten aufgeführten Screenshot:
Pentaho Report Designer - SQL Query Designer

4. Nachdem die Abfrage in den Report eingefügt wurde können die einzelnen Datenfelder, aus dem Select des SQL Queries, einfach per Drag and Drop in den Report gezogen werden.

geposted: 18. Mai 2014 | aktualisiert: 18. Mai 2014 | Autor: Marcus Hottenrott
Kategorie(n): Business Intelligence