X4 Produktdokumentation

JDBC Connector

Der Adapter stellt eine Verbindung zu einer JDBC-kompatiblen Datenbank her und führt ein oder mehrere Datenbank-Statements aus, die als Input-XML-Dokument mit adapterspezifischen Strukturen übergeben wurden.

Hinweis:

Voraussetzung ist eine im Applikationsserver bereitgestellte JDBC-Datenquelle, für welche die Verbindungs-URL, Zugangsdaten, Schema sowie Transaktionsverhaltensweisen etc. definiert wurden. Nähere Informationen zum Bereitstellen von JDBC-Datenquellen entnehmen Sie der Dokumentation Ihres Applikationsservers.

Eigenschaften (Properties)

Operation

Bestimmt, welche Operation der Adapter durchführt

Mögliche Werte:

execute: Adapter ausführen

Parameter

JndiName

JNDI-Name der Datenquelle

Hinweis:

Wenn die Verbindung über den JNDI-Namen hergestellt wird, dann darf der Parameter connectionURL nicht ausgefüllt werden.

Mögliche Werte:

Gültiger JNDI-Name (z. B. java:/DefaultDS)

ColumnCase

Steuert wie die Spaltennamen ins Ergebnis übernommen werden. Da Datenbanken unterschiedliches Verhalten betreffend der Groß-/Kleinschreibung von Spaltennamen haben, kann man hiermit die Weiterverarbeitung des Ergebnis unabhängig vom Datenbankverhalten machen.

Mögliche Werte:

  • NO_CHANGE: Ändert die Spaltennamen nicht, d.h. die Schreibweise im Ergebnis ist exakt wie von der Datenbank geliefert (Standard)

  • TO_LOWER: Ändert die Spaltennamen auf Kleinbuchstaben

  • TO_UPPER: Ändert die Spaltennamen auf Großbuchstaben

Spaltenname, die keine gültigen Elementnamen (NCNAME)  darstellen, werden durch _<number> (e. g. _2 ) ersetzt, wo <number> der Index der Spalte ist.

connectionURL

Verbindungs-URL für die JDBC-Datenbank

Hinweis:

Wenn die Verbindung über die Verbindungs-URL hergestellt wird, dann darf der Parameter JndiName nicht ausgefüllt werden.

Mögliche Werte:

  • Die Art des Aufbaus hängt von der Datenbank ab, zu der eine Verbindung aufgebaut werden soll.

  • Beispiel für sqlite: jdbc:sqlite:C:/Temp/mydatabase.db

user

Benutzername zur Authentifizierung bei Verwendung des Parameters connectionURL

password

Passwort zur Authentifizierung bei Verwendung des Parameters connectionURL

rootElementName

Name des Wurzelelements des Outputs.

Mögliche Werte: Zeichenkette, die für XML-Elementnamen gültig ist. Standard: Data

CommitMode

Steuert, welche Variante für Commits verwendet werden soll

Mögliche Werte:

  • NONE: Keinen Commit durchführen

  • AUTO: Automatischer Commit gemäß JDBC-API (d. h. nach jedem Batch) (Standard)

  • STATEMENT: Explizites Commit nach jedem Statement (d. h. nach allen Batches für dieses Statement)

  • DOCUMENT: Am Ende des Dokuments (d. h. nach Ausführung aller Statements)

Hinweis:

Damit der Commit-Modus DOCUMENT ausgeführt werden kann, muss das Attribut jta in der Konfiguration der verwendeten JDBC-Datenquelle in der Datei standalone.xml auf true gesetzt sein.

Diese Transaktion ist im Debug-Modus des X4 Designers nicht möglich.

  • MANAGED: Adapter in Transaktionen nutzen (für extern verwaltete Transaktionen)

AddMetaDataForQueries

(ab X4 4.1 Revision 32408) Steuert, ob Datenbank-Metadaten, siehe JDBC Metadata Explorer, zu jedem Result Set im Ergebnis-XML-Dokument des Adapters ausgegeben werden sollen, wenn der Adapter eine SQL-Abfrage ausführt (nicht der Fall bei UPDATE, DELETE etc.). Im Batch-Modus (StatementBatch, PreparedStatementBatch und CallableStatementBatch) ist dies ebenfalls nicht möglich.

Mögliche Werte:

  • ja: Dem Ergebnisdokument Datenbank-Metadaten hinzufügen

  • nein: Ergebnisdokument ohne Datenbank-Metadaten ausgeben (Standard)

Statuswerte

1

Die Abfrage hat Datensätze geliefert bzw. die Anweisung hat Datensätze geändert

Der Status 1 wird geliefert, wenn mehrere Abfragen bzw. Anweisungen im Dokument enthalten sind und mindestens eine Abfrage ein Ergebnis geliefert oder verändert hat.

0

Die Abfrage hat keine Ergebnisse geliefert oder die Anweisung hat keine Datensätze geändert

Der Status 0 wird geliefert, wenn mehrere Abfragen bzw. Anweisungen im Dokument enthalten sind und keine Abfrage ein Ergebnis geliefert oder verändert hat.

-1

Technischer Fehler: genauere Informationen zur Fehlerursache entnehmen Sie dem Server-Log

Input

Der JDBC Connector erwartet spezifische Input-XML-Strukturen, die Datenbank-Statements enthalten. Diese Input-XML-Strukturen können über XSL-Mappings in Abhängigkeit von den verarbeiteten XML-Daten dynamisch generiert werden.

Falls Sie innerhalb der SQL-Anweisung oder für die Werte bzw. Daten der Tabellenspalten Zeichen verwenden, die in XML eine Bedeutung besitzen, maskieren Sie die SQL-Anweisung mit einem umgebenden CDATA-Block, z. B. <![CDATA[ UPDATE PROCESS SET X4_VERSION=4 WHERE X4_DURATION=100 ]]> oder <rowset><row><Name><!CDATA[ XML Zeichen “<“ in CDATA Element]]></Name></row></rowset>.

So wird sichergestellt, dass die Zeichen im CDATA-Element nicht als XML interpretiert werden, sondern als Daten für den Adapter.