JDBC-Systemkonfiguration

Die Zugangsdaten zum SQL-Datenbanksystem werden in einer XML-Datei angegeben. Der Name dieser XML-Datei wird dem Kommandozeilenprogramm als Argument übergeben.

Das Format der XML-Datei ist durch folgende DTD vorgegeben:

s_jdbc_conf_dtd_abb_5

XML-Element
bzw. -Attribut

Beschreibung

Beispiel

jdbcconf

JDBC-Systemkonfiguration mit Angaben zu den zu verwendenden Datenbanksystemen und Datenbankanbindungen

-

databasesettings

Allgemeine Einstellungen des verwendeten Datenbanksystems

-

name

Eindeutiger Name der allgemeinen Einstellungen des Datenbanksystems

setting_oracle

dbtype

Verwendeter Datenbanktyp, mögliche Werte: ORACLE | DB2 | SQLSERVER | OTHER

ORACLE

driverclass

Für das Datenbanksystem zu verwendende Treiberklasse

oracle.jdbc.driverOracleDriver

maxconditionlength

Der angegebene Zahlenwert beschränkt die Länge des WHERE-Teils einer SQL-Abfrage

1000

fetchsize

Anzahl der Datensätze, die gleichzeitig vom DB-Server auf den Java-Client übertragen werden. Standardwert ist bei den meisten Datenbanksystemen 10.
Empfohlener Wert: 1000

1000

databaseconnection

Angaben zur Datenbankanbindung

-

name

Eindeutiger Name der Datenbankanbindung

oracle_connection1

dbsettings

Eindeutiger Name der allgemeinen Einstellungen des Datenbanksystems

setting_oracle

url

URL der Datenbankanbindung

s. Dateiauszug weiter unten

user

Name des Datenbankbenutzers

ppmoracle

password

Kennwort des Datenbankbenutzers

ppmoracle

encryptpw

Verschlüsseltes Kennwort als Zahlenkombination nach erfolgter Auswertung des <password>-Elements

62 -62 -56

lastreaddate

Datum, ab dem Daten ausgelesen werden. Entfällt bei Verwendung einer Datenquelle, Format: yyyymmdd

20050131

lastreadtime

Uhrzeit, ab der Daten ausgelesen werden. Entfällt bei Verwendung einer Datenquelle, Format: hhmmss

152917

language

Sprache der ausgelesenen Textfelder

EN

Der Datenbanktyp kann einer der vier vorgegebenen Werte für die Datenbanksysteme Oracle, IBM DB2 oder MS SQL-Server sein. Der Wert Sonstige ist zu verwenden, wenn Sie Daten aus einer Datenbank auslesen möchten, die von einem anderen Typ ist, als die oben aufgeführten.

Mit Hilfe des Parameters maxconditionlength kann eine Zahl angegeben werden, welche die Länge des WHERE-Teils einer SQL-Abfrage auf den angegebenen Wert beschränkt. Dies ist notwendig, um eventuelle Längenbeschränkungen der verschiedenen Datenbanksysteme einhalten zu können. Ist die SQL-Abfrage länger als die angegebene Maximallänge, wird sie in mehrere, kleinere Abfragen aufgeteilt, die getrennt ausgeführt werden.

Mit Hilfe des Parameters fetchsize kann angegeben werden, wie viele Datenzeilen gleichzeitig pro Lesevorgang von der Datenbank an den JDBC-Extraktor übertragen werden sollen.

Das Kennwort des Datenbankbenutzers muss im XML-Element password unverschlüsselt in Klarschrift angegeben werden. Nach erfolgter Auswertung im nächsten Auslesevorgang wird das Kennwort schließlich im XML-Element encryptpw verschlüsselt in die JDBC-Systemkonfiguration zurückgeschrieben. Der password-Eintrag wird dann gelöscht. Es darf immer nur einer der beiden Einträge in der Systemkonfiguration vorhanden sein.

Wenn Sie ein bestehendes Kennwort ändern möchten, fügen Sie einen neuen password-Eintrag in die aktuelle Konfigurationsdatei ein und löschen den encryptpw-Eintrag. Im nächsten Auslesevorgang wird dann das neue Kennwort verschlüsselt.

Der Parameter language ist optional. Wenn Sie einen Wert dazu angeben, wird dieser mit dem Feldnamen aus der Tabellenkonfiguration (langfieldname) verglichen (siehe Kapitel JDBC-Tabellenkonfiguration). Ist beispielsweise in einer Tabelle langfieldname="LANG" und in der JDBC-Systemkonfiguration <language>EN</language> angegeben, werden nur die Datensätze ausgelesen, bei denen LANG den Wert EN hat.

Folgender Dateiauszug zeigt eine beispielhafte JDBC-Systemkonfiguration:

<jdbcconf>

<databasesettings name="setting_sqls" dbtype="SQLSERVER">

<driverclass>com.microsoft.jdbc.sqlserver.SQLServerDriver

</driverclass>

<maxconditionlength>1000</maxconditionlength>

<fetchsize>1000</fetchsize>

</databasesettings>

<databasesettings name="setting_oracle" dbtype="ORACLE">

<driverclass>oracle.jdbc.driver.OracleDriver</driverclass>

<maxconditionlength>1000</maxconditionlength>

<fetchsize>1000</fetchsize>

</databasesettings>

<databaseconnection name="sqls_connection">

<dbsettings>setting_sqls</dbsettings>

<url>jdbc:microsoft:sqlserver:

//PC3:1433;SelectMethod=Cursor;

DatabaseName=ppmdb

</url>

<user>ppmuser</user>

<password>ppmuser</password>

<lastreaddate>20050228</lastreaddate>

<lastreadtime>000000</lastreadtime>

<language />

</databaseconnection>

<databaseconnection name="oracle_connection1">

<dbsettings>setting_oracle</dbsettings>

<url>jdbc:oracle:thin:@pcppm:1521:orappm_test

</url>

<user>ppmoracle</user>

<password>ppmoracle</password>

<lastreaddate>20051231</lastreaddate>

<lastreadtime>235959</lastreadtime>

</databaseconnection>

<databaseconnection name="oracle_connection2">

<dbsettings>setting_oracle</dbsettings>

<url>jdbc:oracle:thin:@pcppm:1521:orappm_produktiv</url>

<user>ppmoracle2</user>

<encryptpw>48 -62 -76 -60 -108 -57 -92</encryptpw>

<lastreaddate>20050228</lastreaddate>

<lastreadtime>000000</lastreadtime>

</databaseconnection>

</jdbcconf>

Damit sich PPM Process Extractor JDBC-2-PPM anhand der Konfigurationsdaten mit der Datenbank verbinden kann, müssen Sie die JDBC-Treiber (JAR- und/oder ZIP-Dateien) in folgendes Verzeichnis Ihrer Installation kopieren.

<PPM-Installationsverzeichnis>\ppm\server\bin\work\data_ppm\drivers