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 Applikations-Server bereitgestellte JDBC-DataSource, für welche die Verbindungs-URL, Zugangsdaten, Schema sowie Transaktionsverhaltensweisen etc. definiert wurden. Nähere Informationen zum Bereitstellen von JDBC-DataSources entnehmen Sie der Dokumentation Ihres Applikations-Servers.

Eigenschaften (Properties)

Operation

Bestimmt, welche Operation der Funktions-Adapter durchführt

Mögliche Werte: execute: Funktions-Adapter ausführen

Parameter

Adapter

Hauptklasse des Adapters (nicht verändern!)

Mögliche Werte: de.softproject.integration.adapter.jdbc.DB: Hauptklasse (Standard)

JndiName

JNDI-Name der DataSource

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)

  • 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.