18.9 | Large Objects (LOBs) |
Standard-JDBC stellt eine Schnittstelle zum Zugriff auf Large Objects zur Verfügung. Unterstützt werden sowohl die SQL-92 Typen LONG und LONG RAW als auch die SQL-99 Typen BLOB und CLOB. Alle diese Typen können mit Java sowohl aus der Datenbank gelesen als auch in die Datenbank geschrieben werden.
Allen Datentypen ist gemeinsam, dass die Daten in Java letztendlich über Streams vom Datenbanksystem gelesen bzw. geschrieben werden. Der Zugriff über Streams erfolgt deshalb, da in einem LOB sehr große Datenmengen gespeichert werden können. Auf diese Weise kann der Client die Daten nach und nach vom Datenbanksystem abrufen.
Außerdem ist zu beachten, dass das Schreiben von Large Objects nur mit PreparedStatement- bzw. CallableStatement-Exemplaren durchgeführt werden kann. Da das Lesen hingegen über das ResultSet durchgeführt wird, können Abfragen, die LOB-Spalten selektieren, auch über herkömmliche Statement-Exemplare realisiert werden. In Abbildung 18.21 sind die wichtigsten Merkmale und Methoden zum Zugriff auf die verschiedenen LOB-Typen gegenübergestellt.