Rainer Klute
JDBC™ in der Praxis
Datenbankanwendungen in Intranet und Internet
VT ADDISON-WESLEY
An imprint of Addison Wesley Longman, Inc.
Bonn • Reading, Massachusetts • Menlo Park, California New York • Harlow, England • Don Mills, Ontario Sydney • Mexico City • Madrid • Amsterdam
p
Inhaltsverzeichnis
1 Einleitung 11 1.1 Ziel: Information atyourfingertips 12 1.2 Wer sollte dieses Buch lesen? 14 1.3 Java und jDBC kurz und bündig 15 1.4 Tools und Beispiele auf CD-ROM 16 1.5 Konventionen 17
2 Einführung in Datenbanken und JDBC 19 2.1 Datenbanken aus Benutzersicht 19 2.2 Datenbanken aus Entwicklersicht 20 2.3 SQL-Monitore 20 2.4 Proprietäre Schnittstellen und Embedded SQL 22 2.5 ODBC 24 2.5.1 ODBC und Java 25 2.6 JDBC 26 2.7 Neue Möglichkeiten in Intranet und Internet 27 2.7.1 Strategische Vorteile von JDBC 27 2.7.2 Web-Datenbanken 29 2.7.3 Servlets: schnell und unabhängig von Plattform
und Web-Server 31 2.7.4 Bandbreite beachten 34 2.8 Zweischichten- und Dreischichtenmodell 35 2.8.1 Das Zweischichtenmodell 35 2.8.2 Das Dreischichtenmodell 36 2.9 Die Openünk-Middleware 37 2.10 JDBC-Treibertypen 40 2.11 Low-Level- versus High-Level-API ' 42 2.12 Portabilitätsprobleme 43
3 Systemvoraussetzungen 49 3.1 Die CD-ROM im Überblick 49 3.1.1 Beispiele 49 3.1.2 Java Development Kit 50 3.1.3 Symantec Visual Cafe 50 3.1.4 Java Servlet Development Kit 50
p
3.2 3.3 3.4
3.5
3.6 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9
PostgreSQL
OpenLink-Middleware JavaPostgres95 CNU-Software Web-Browser java-Entwicklungssystem JDBC-Distribution
Datenbankmanagementsystem 3.4.1
3.4.2
PostgreSQL
PostgreSQL installieren JDBC-Treiber installieren 3.5.1
3.5.2
Der OpenLink-JDBC-Treiber Der JavaPostgres95-Treiber Middleware
3.6.1 3.6.2 3.6.3 3-6.4 3.6.5
OpenLink-Request-Broker installieren Datenbankagent installieren Der )DBC-Agent
Datenquellen einrichten Mehr Lizenzen
50 51 51 51 51 51 53 53 54 55 60 60 61 61 62 64 64 65 66
Programmieren mit dem JDBC-API 69 4.1 Struktur einer JDBC-Anwendung 69 4.2 Ein Beispiel zum Aufwärmen 69 4.2.1 Einrichten der Umgebung 70 4.2.2 Der Quelltext 71 4.2.3 JDBC-Treiber laden 73 4.2.4 Datenbank öffnen 74 4.2.5 SQL-Anweisungen an die Datenbank senden 75 4.2.6 Ergebnisse bearbeiten 75 4.3 Ein SQL-Monitor in Java 80 4.4 Laden des JDBC-Treibers 88 4.5 Verbindungsaufbau 91 4.6 SQL-Anweisungen ausführen 96 4.7 Tabelle lesen 100 4.7.1 Tabellen und Relationen 101 4.7.2 Zugriff auf Datenfelder 101 4.7.3 Nullmarken erkennen 103 4.7.4 Große Datenmengen handhaben 105 4.7.5 Cursor markiert Position im ResultSet 107 4.8 Metadaten: Daten über Daten 109 4.9 Phase 2 des SQL-Monitors 111 4.9.1 Metadaten im SQL-Monitor abfragen 112 4.9.2 Konzeption des erweiterten SQL-Monitors 112 4.9.3 Struktur des SQL-Monitors 113 4.9.4 Metadaten abrufen 118 4.9.5 Datenbankeigenschaften abfragen 119 4.9.6 SQL-Eigenschaften abfragen 121 4.9.7 Datenbanktabellenerfragen 123 4.10 Datentypen in Java und SQL 124 4.11 SQL-Escapes 130
: Inhaltsverzeichnis
p
4.12 Transaktionen 4.13 Für besondere Anlässe
4.13.1 PreparedStatement 4.13.2 CallableStatement 4.14 SQL-Ausnahmen und-Warnungen Die Postleitzahlen-Datenbank 5.1 Struktur der Rohdaten
5.2 Entwurf der PLZ-Datenbank leicht gemacht 5.3 PLZ-Daten einlesen
5.4 Zusammenfassung aus JDBC-Sicht Web-Datenbanken
6.1 Ein grafischer JDBC-Client 6.2 Verteilte Anwendung
6.3 Web-Datenbank mit HTML-Oberfläche
6.4 Beispielkonfiguration mit Servlets und HTML-Oberfläche 6.5 Was ist ein Servlet?
6.6 Java Servlet Development Kit (JSDK) 6.7 Servlets und Apache
6.8 Apache übersetzen und konfigurieren 6.9 JServ an Apache anbinden
6.10 Servlets und JDBC 6.11 Ein SQL-Monitor im Web 6.12 Der Quelltext
Klassen, Interfaces und Methoden 7.1 JDBC-Treibermanager und -Treiber
7.1.1 DriverManager 7.1.2 Driver
7.1.3 DriverPropertylnfo 7.2 Datenbankmanagementsystem
7.2.1 DatabaseMetaData 7.3 Verbindung zur Datenbank
7.3.1 Connection 7.4 Anweisungen
7.4.1 Statement 7.4.2 PreparedStatement 7.5 Ergebnismenge
7.5.1 ResultSet
7.5.2 ResultSetMetaData 7.6 Datentypen
7.6.1 Types 7.6.2 Date 7.6.3 Time 7.6.4 Timestamp 7.7 Exceptions
7.7.1 SQLException 7.7.2 SQLWarning 7.7.3 DataTruncation
133 135 136 139 142 145 146 148 149 154 155 155 157 158 159 160 170 171 173 175 178 185 189 201 201 201 204 206 207 207 240 240 243 243 247 255 255 263 266 266 266 267 269 270 270 270 270
p
A Die CD-ROM 273 B Übersicht über JDBC-Treiber 275 C Adressen 277 D Abkürzungen 279 Stichwortverzeichnis 281
Inhaltsverzeichnis