Auslesen von XML/DOM-freundlichen Daten aus einer JDBC-Datenbank

Wie mit jeder Ausnahme hätte die Java-Protokollierung von Ausnahmebehandlungen zur Protokollierung aller auftretenden Probleme eingesetzt werden können. Es muss sichergestellt werden, dass alle möglichen Ausnahmen im try-catch-Block enthalten sind, damit die entsprechenden Aktionen eingeleitet werden, um den Anwender über während der Ausführung auftretende Problemen zu informieren. Die nachstehende Liste fasst die in einer SQL-Exception enthaltenen Informationen zusammen:

  • Ein String, der den Fehler beschreibt
  • Ein SQL-State-String
  • Ein ganzzahliger, Anbieter-spezifischer Fehlercode
  • Eine Kette zur nächsten Ausnahme

Die getDocument()-Methode überprüft zunächst alle erforderlichen Parameter bzw. wirft eine Ausnahme:

Ein SQL-Abfragestring wird als Input übergeben. Hier kann es sich um jeden gewünschten SQL-String handeln – z.B.:

Als Nächstes wird eine Instanz eines JDBC-Treibers erstellt, die automatisch den Treiber beim Treibermanager registriert:

Der Treibermanager kann jetzt mit dem registrierten Treiber eine Datenbankverbindung erstellen und alle datenbankbezogenen Arbeiten abwickeln.

Der URL-String variiert je nach Datenbank. Für eine Oracle-Datenbank ist es ein String dieser Form:

Die erforderlichen genauen Werte sind in der tsnames-Konfigurationsdatei namens tnsnames.ora definiert. Die dortigen Einträge sehen so aus:

Ein Connection-Objekt wird mit dem zuvor gesetzten URL-String, dem Benutzernamen und dem Passwort erstellt. Ein Statement-Objekt wird mit dem Connection-Objekt erstellt und führt die Abfrage an die Datenbank durch, wobei ein ResultSet-Objekt zurückgegeben wird. JDBC übernimmt nahtlos die Einzelheiten.

Je nach eingesetztem SQL-Statement hat die Statement-Durchführung möglicherweise keine Rückgabewerte zu bearbeiten. Diese Klasse sucht nach fehlenden Rückgabewerten und fügt Dokumenten nur dann Element-Nodes hinzu, wenn mindestens eine Datenzeile zurückgegeben wird. Die Namen der Spalten werden von einem ResultSetMetaData-Objekt über eine Get-Methode von ResultSet abgerufen:

Der Cursor bzw. die Zeilennummer von ResultSet wird über das ganze ResultSet in einer WHILE-Schleife iteriert, und gleichzeitig wird ein DOM-Dokumentobjekt erstellt.

Die Verarbeitung von ResultSet und seiner Metadaten schließt den Dialog mit der Datenbank ab. Nun können XML/DOM-Objekte zur Unterbringung von Daten sowie XSL zu deren Formatierung eingesetzt werden.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Internet-Tempo in Deutschland: Viel Luft nach oben

Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.

17 Stunden ago

Erste Entwickler-Preview von Android 16 verfügbar

Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…

17 Stunden ago

Kaspersky warnt vor Cyberangriff auf PyPI-Lieferkette

Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.

1 Tag ago

Digitale Produkte „cyberfit“ machen

Vernetzte Produkte müssen laut Cyber Resilience Act über Möglichkeiten zur Datenverschlüsselung und Zugangsverwaltung verfügen.

1 Tag ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Das jüngste Update für Windows, macOS und Linux stopft drei Löcher. Eine Anfälligkeit setzt Nutzer…

2 Tagen ago

Apple schließt Zero-Day-Lücken in iOS, iPadOS und macOS

Zwei von Google-Mitarbeitern entdeckte Schwachstellen werden bereits aktiv gegen Mac-Systeme mit Intel-Prozessoren eingesetzt. Sie erlauben…

2 Tagen ago