Der UDK wird in Zukunft nicht mehr unterstützt. Bitte nutzen Sie stattdessen unsere REST API.
Dieser Artikel beschreibt, wie der universelle Datenbank-Konnektor für Meisterplan funktioniert, wie Sie ihn unter Verwalten > Datenquellen in Meisterplan einbinden, wie Sie ihn herunterladen, wie Sie ihn über die zugehörige XML-Konfigurationsdatei einrichten und wie Sie ihn ausführen.
- Allgemeines
- Voraussetzungen
- Konnektor als Datenquelle in Meisterplan hinzufügen
- Konnektor einrichten
- Verbindungsdetails einrichten
- Eigene SQL-Abfragen schreiben
- Einen JDBC-Treiber hinzufügen
- Konnektor ausführen
- Weitere Befehlszeilen-Argumente
- Proxy- Einstellungen
- SSL-Zertifikate in Java hinzufügen
Allgemeines
Mit dem universellen Datenbank-Konnektor für Meisterplan können Sie Ihre Projekt- und Ressourcen-Daten aus einer beliebigen, JDBC-kompatiblen Datenbank nach Meisterplan importieren.
Der Konnektor ist als eigenständiges Java-Programm im .jar-Format verfügbar. Befolgen Sie die nun beschriebenen vorbereitenden Schritte, um das Programm auszuführen.
Voraussetzungen
Der universelle Datenbank-Konnektor ist ein Java-Programm und setzt daher die Java Runtime voraus. Im Artikel Client-Systemvoraussetzungen ist die aktuell benötigte Version aufgeführt.
Konnektor als Datenquelle in Meisterplan hinzufügen
Um die aus der JDBC-Datenquelle auszulesenden Daten nach Meisterplan zu importieren, fügen Sie den universellen Datenbank-Konnektor als Datenquelle hinzu:
- Wählen Sie in der Seitenleiste links unter Verwalten die Ansicht Datenquellen aus.
- Öffnen Sie per Klick auf die Schaltfläche Datenquelle hinzufügen die Auswahl der verfügbaren Datenquellen.
- Wählen Sie die Option Universeller Datenbank-Konnektor aus, um einen universellen Datenbank-Konnektor hinzuzufügen.
- Hinterlegen Sie folgende Einstellungen und laden Sie über den hier angezeigten Download-Link die ausführbare Java-Datei für den universellen Datenbank-Konnektor herunter.
Name: die Grundeinstellung für den Namen eines universellen Datenbank-Konnektors ist "Universeller Datenbank-Konnektor". Benennen Sie den Konnektor nach der anzubindenden Datenquelle.
Import-Code und URL: Ihr Import-Code für den Webservice, welchen der universelle Datenbank-Konnektor zum Import von Daten nach Meisterplan verwendet, sowie die URL zum Zugriff auf den Webservice. Hinterlegen Sie Import-Code und URL für den Webservice in der vom universellen Datenbank-Konnektor verwendeten Konfigurations-XML-Datei, wie im Abschnitt Verbindungsdetails einrichten weiter unten in diesem Artikel beschrieben.
Download: Download-Link zur ausführbaren Java-Komponente des universellen Datenbank-Konnektors.
Konnektor einrichten
Sie richten den universellen Datenbank-Konnektor über eine XML-Datei ein, in der Verbindungsdetails sowie Ihre eigenen SQL-Abfragen gespeichert werden. Um eine Vorlage für die XML-Konfigurations-Datei zu erzeugen, führen Sie folgenden Befehl in dem Verzeichnis aus, in dem die ausführbare .jar-Datei des Konnektors liegt:
java -jar mp-jdbcconnector-[version].jar --generate-default-config config.xml
Dies erzeugt eine Datei mit dem Namen config.xml.
Hinterlegen Sie in dieser Datei folgende Informationen, um die Daten nach Meisterplan zu importieren:
- Die Anmeldedaten für den Webservice von Meisterplan
- Ihre eigenen SQL-Abfragen zur Abfrage der Quelldaten
- Die JDBC-Treiber-Klasse
- Ort und Anmeldedaten Ihrer JDBC-kompatiblen Datenbank
Verbindungsdetails einrichten
Das <connector>
-Tag der Konfigurationsdatei speichert Informationen über den Webservice von Meisterplan.
Die Eigenschaften url
und importCode
können Sie den Eigenschaften des in Meisterplan hinzugefügten universellen Datenbank-Konnektors unter Verwalten > Datenquellen entnehmen, indem Sie diesen dort zur Bearbeitung öffnen.
Bitte beachten Sie, dass Sie das Kennwort auch als Befehlszeilen-Parameter übergeben können. Dabei wird das in der XML-Datei hinterlegte Kennwort überschrieben, so dass Sie nicht das tatsächliche Kennwort in der XML-Datei speichern müssen. Im Abschnitt Weitere Befehlszeilen-Argumente unten erfahren Sie, wie Sie unterstützte Befehlszeilen-Argumente anzeigen.
<connector>
<url>https://eu.meisterplan.com/ws/dataimport</url>
<username>{meisterplan-user}</username>
<password>{meisterplan-password}</password>
<importCode>0x810101ef1b11e197a78a59a6f8e9bcui0s</importCode>
<dbName>{meisterplan-database-name}</dbName>
</connector>
Eigene SQL-Abfragen schreiben
Um Ihre Daten in das von Meisterplan vorausgesetzte Format zu bringen, müssen Sie eigene SQL-Abfragen schreiben und in der XML-Konfiguration hinterlegen. Die vorausgesetzten Spaltennamen können Sie der Vorlage für die XML-Konfigurationsdatei entnehmen, die Sie, wie oben beschrieben, erzeugen.
Das folgende kleine Beispiel für eine SQL-Abfrage zeigt, wie Sie mit dem SQL-Schlüsselwort AS Projektdaten auswählen:
<projects>
SELECT proj.mycode AS code, proj.mytitle AS title, proj.start, proj.finish,
proj.managerid, proj.status, proj.costtype, proj.priority, prog.code AS
programcode, goal.code AS businessgoalcode, proj.mynotescolumn AS notes
FROM project proj, programs prog, businessgoals goal
WHERE proj.mycode = prog.mycode AND proj.mycode = goal.mycode
</projects>
Einen JDBC-Treiber hinzufügen
Um Ihre JDBC-Datenbank auszulesen, müssen Sie einen JDBC-Treiber in der Konfigurationsdatei hinterlegen. Sie können den benötigten Treiber auf der Homepage des Herstellers Ihrer Datenbank herunterladen.
Sie müssen den vollständig qualifizierten Java-Klassennamen des Treibers sowie die JDBC Verbindungs-Zeichenfolge in der Konfigurationsdatei angeben. Der folgende Code-Block zeigt beispielhaft, wie die XML-Tags in der Konfigurationsdatei für eine PostgreSQL-Datenbank aussehen:
<driverClass>org.postgresql.Driver</driverClass>
<url>jdbc:postgresql://my-postgresql-host/mydatabase</url>
<username>{database-user}</username>
<password>{database-password}</password>
Bitte beachten Sie, dass Sie das Kennwort auch als Befehlszeilen-Parameter übergeben können. Dabei wird das in der XML-Datei hinterlegte Kennwort überschrieben, so dass Sie nicht das tatsächliche Kennwort in der XML-Datei speichern müssen. Im Abschnitt Weitere Befehlszeilen-Argumente unten erfahren Sie, wie Sie unterstützte Befehlszeilen-Argumente anzeigen.
Für die gängigsten Datenbank-Systeme bietet die folgende Tabelle einen Überblick über die Namen der Treiber-Klassen und die Bezugsquellen der Treiber im Internet:
Datenbank | Treiberklasse | Download-Link des JDBC-Treibers im .jar-Format |
---|---|---|
PostgreSQL | org.postgresql.Driver | https://jdbc.postgresql.org/download.html |
Microsoft SQL Server | com.microsoft.sqlserver.jdbc.SQLServerDriver | https://docs.microsoft.com/de-de/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server |
MySQL | com.mysql.jdbc.Driver | http://dev.mysql.com/downloads/connector/j/ |
Oracle | oracle.jdbc.OracleDriver | https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html |
Konnektor ausführen
Um den Konnektor auszuführen, muss der JDBC-Treiber im Klassenpfad des Programms verfügbar sein. Dazu muss die .jar-Datei des Treibers als Befehlszeilen-Argument übergeben müssen. Hier ist ein Beispiel für die Ausführung des Konnektors unter Verwendung der .jar-JDBC-Treiberdatei für PostgreSQL mit der Konfigurationsdatei config.xml:
java -cp "postgresql-9.4.1208.jar;mp-jdbcconnector-[version].jar"
de.itdesign.meisterplan.connector.impl.jdbc.EntryPoint -c config.xml
Weitere Befehlszeilen-Argumente
Führen Sie folgende Befehlszeile aus, um eine Liste aller verfügbaren Befehlszeilen-Argumente zu erhalten:
java -jar mp-jdbcconnector-[version].jar --help
Proxy- Einstellungen
Wenn Sie zu Meisterplan eine Verbindung über einen Proxy-Server herstellen, und Java nicht automatisch die Einstellungen des Browsers oder des Betriebssystems verwendet, so können Sie den UDK mit den Proxy-Einstellungen starten. Geben Sie dazu den Proxy-Host und den Proxy-Port über diese JVM-Parameter an:
- -Dhttps.proxyHost
- -Dhttps.proxyPort
Hier ist ein Beispiel-Aufruf:
java -Dhttps.proxyHost=[myproxy-hostname] -Dhttps.proxyPort=[myproxy-port]
-cp "[my-jdbcdriver.jar];mp-jdbcconnector-[version].jar"
de.itdesign.meisterplan.connector.impl.jdbc.EntryPoint -c config.xml
SSL-Zertifikate in Java hinzufügen
Wenn das SSL Zertifikat von Java durch die oben beschriebenen Proxy-Einstellungen nicht verarbeitet wird, erhalten Sie beim Ausführen des UDK diese Fehlermeldung:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target.
Fügen Sie das SSL-Zertifikat dem Java-Keystore hinzu, indem Sie diese beide Befehlszeilen nacheinander ausführen (der Keytool-Befehl befindet sich im bin-Verzeichnis Ihres Java-Installationsverzeichnisses):
keytool -J-Dhttps.proxyHost=[myproxy-hostname]
-J-Dhttps.proxyPort=[myproxy-port] -printcert -rfc
-sslserver api-soap.[eu/us].meisterplan.com:443 > mycertfile.pem
keytool -importcert -file mycertfile.pem
-keystore %JAVA_HOME%/jre/lib/security/cacerts -alias "meisterplan"
Sie werden dann aufgefordert, das Passwort für den Java-Keystore einzugeben. Das Default-Passwort lautet "changeit".