Java Database Connectivity-API (JDBC)
|
|
- Alexa Bayer
- vor 7 Jahren
- Abrufe
Transkript
1 Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1
2 Motivation Problem: Zugriff auf ein DBMS ist Herstellerabhängig Anwendung Anwendung MySQL API DB2 API MySQL DB2 Anwendung Oracle API Oracle Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 2
3 Motivation Lösung: Zwischenschicht MySQL API MySQL Anwendung JDBC API JDBC DB2 API DB2 Oracle API Oracle JDBC Treiber Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 3
4 Design Entwicklung seit: 1995 Erster Ansatz: Java erweitern Zweiter Anzatz: Treiber der Datenbankhersteller Vorbild: ODBC Unterschiede: ODBC wenige Befehle, viele Optionen JDBC viele einfache Methoden ODBC nutzt void-zeiger Java kennt keine Zeiger Flexibilität: JDBC erlaubt beliebige Zeichenfolgen Anpassung an Datenbank möglich. - Optimierung - Bindung Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 4
5 Design Java Anwendung JDBC-Treibermanager JDBC/ODBC -Brücke JDBC- Treiber ODBC- Treiber Datenbank Datenbank Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 5
6 Treiber Typ 1: JDBC/ODBC-Brücke ODBC ist sehr weit verbreitet Leistung Wartung Testen, Experimentieren kein JDBC Treiber verfügbar JDBC- Anwendung Client Brücke ODBC DB Server Windows Plattformen Typ 2: Partial Java Driver konvertiert JDBC Aufruf in DB abhängigen API Aufruf schnell, weil API Aufruf kompiliert ist DB + OS abhängig Nutzer braucht plattformabhängige API JDBC- Anw. A P I DB Client Server Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 6
7 Treiber Typ 3: Reiner Java Treiber zu Middleware Keine plattformabhängigen Treiber am Client DB unabhängig Flexibel, mehrere DB möglich DB abhängiger Code in Middleware JDBC- Anw. M W DB Client Server Server Typ 4: Reiner Java Treiber direkt zur DB JDBC in DB spezifische Netzwerkaufrufe verpackt Schnell Keine plattformabhängigen Treiber am Client Client braucht für verschiedene DB verschiedene Treiber JDBC- Anw. Client DB Server Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 7
8 Treiberinstallation Download Datenbankhersteller Installation Eintragen in den Klassenpfad Registrieren Bei dem Programmstart durch Parameter: - java Djdbc.drivers=com.mysql.jdbc.Driver <Programm> Setzen der Systemeigenschaft "jdbc.drivers": - System.setProperty("jdbc.drivers", "com.mysql.jdbc.driver"); Händisches Instanzieren der Treiber-Klasse: - Class.forName("com.mysql.jdbc.Driver"); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 8
9 Verbindungsaufbau Verbindungsaufbau erfolgt mit Url zur Datenbank Benutername, Passwort Datenbank Url jdbc:<datenbanktreiber>:<treiberspezifische Angaben> MySql: - jdbc:mysql://<host>:<port>/< Datenbankname> JavaDB (Derby): - jdbc:derby:/path/to/database - jdbc:derby:database Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 9
10 Grundlagen: DriverManager DriverManager Verwaltet registrierte Treiber Aufbau von Verbindungen getconnection(string url, String user, String password) - Liefert eine Connection zu der gegebenen url wenn ein passender Treiber registriert ist. /* Registrieren des Treibers */ Class.forName("com.mysql.jdbc.Driver").newInstance(); /* Anfordern einer Datenbankverbindung */ Connection con = DriverManager.getConnection(url, user, pass); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 10
11 Grundlagen: Connection Connection: Verwaltet die Verbindung (Session) zu einer Datenbank. close() - Schließen der Verbindung commit() - Bestätigen alle bisher vorgenommenen Änderungen, standard ist auto-commit Statement createstatement() - Erzeugt ein Statement mit dem SQL-Statements an die Datenbank abgegeben werden können. Statement stat = con.createstatement(); stat.executeupdate("insert INTO test VALUES ('Hallo')"); PreparedStatement preparestatement(string sql) - Erzeugt Statements welche von der Datenbank vorkompiliert werden können. PreparedStatement stat; stat = con.preparestatement("insert INTO test VALUES ('Welt')"); stat.executeupdate(); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 11
12 Grundlagen: Statement Statement: ResultSet executequery(string sql) - Ausführen einer SQL Abfrage (SELECT) int executeupdate(string sql) - Ausführen eines Updates (UPDATE, INSERT, DELETE, CREATE). - Rückgabewert zeigt die Anzahl der betroffenen Zeilen. boolean execute(string sql) - Ausführen einer beliebigen SQL Anweisung. Keine Paramerter verwenden! Stichwort: SQL-Injection - Rückgabewert Zeigt an ob eine Ergebnismenge geliefert wurde. int getupdatecount() - Anzahl der von der letzten Anweisung betroffenen Zeilen oder -1 wenn die Anweisung keinen Zähler hatte. ResultSet getresultset() - Ergebnismenge der letzten Abfrage oder null wenn wenn die Anweisung keine Ergebnismenge hatte. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 12
13 Grundlagen: PreparedStatement PreparedStatement: Absetzen von vorkompilierten Statements. void set<typ>(int n, <Typ> x) - Setzen des Parameters an der Stelle n (1.. m). void clearparameters() - Löschen aller Parameterwerte. ResultSet executequery() - Ausführen der vorkompilierten SQL Abfrage (SELECT) int executeupdate() - Ausführen des vorkompilierten Updates (UPDATE, INSERT, DELETE, CREATE). - Rückgabewert zeigt die Anzahl der betroffenen Zeilen. PreparedStatement stat; stat = con.preparestatement("insert INTO test VALUES (?)"); stat.setstring(1, "Hallo"); stat.executeupdate(); stat.setstring(1, "Welt!"); stat.executeupdate(); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 13
14 Grundlagen: Callable Statement CallableStatement: Ausfüren von Datenbankprozeduren (SQL stored procedures) über spezielle SQL strings: Parameterlose Prozedur: {call procedure_name} Prozedur: {call procedure_name[(?,?, )]} Funktion: {? = call procedure_name[(?,?, )]} Das setzen der Parameter erfolgt analog zu den PreparedStatements Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 14
15 Grundlagen: ResultSet ResultSet: Ermöglicht das zeilenweise Abarbeiten der Ergebnistabelle. boolean next() - Anspringen der nächsten Zeile, begonnen wird vor der ersten Zeile. - true solange noch eine gültige Zeile erreicht wurde. <Typ> get<typ>(int spalte) <Typ> get<typ>(string spaltenname) int findcolumn(string spaltenname) getstring(3) => 25 getstring("name") => Max findcolumn("nr") => 1 next() Nr 1 2 Name Max Kurt Age Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 15
16 Grundlagen: ResultSet Fortsetzung boolean first() - Erste Zeile im ResultSet. - true wenn eine gültige Zeile erreicht wurde. beforefirst() - Vor die erste Zeile im ResultSet. boolean last() - Letzte Zeile im ResultSet. - true wenn eine gültige Zeile erreicht wurde. afterlast() - Nach letzter Zeile im ResultSet. boolean absolute(int row) - Eine Zeile anspringen row > 0 von oben gezählt (1 erste Zeile, 2 zweite Zeile, ) row < 0 von unten gezählt (-1 letzte Zeile, -2 vorletzte Zeile, ) - true wenn eine gültige Zeile erreicht wurde. int getrow() - Nummer der aktuellen Zeile Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 16
17 Grundlagen: Beispiel ResultSet Wie viele Zeilen hat ein ResultSet? Connection con; Statement stat = con.createstatement(); ResultSet result = stat.executequery("select "); int rowamount; result.last(); rowamount = result.getrow(); result.beforefirst(); // Mit ResultSet arbeiten while (result.next()) { } Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 17
18 Typen Standard-Typemapping zwischen SQL und JAVA SQL Type CHAR, VARCHAR, LONGVARCHAR NUMERIC, DECIMAL BIT TINYINT SMALLINT INTEGER BIGINT REAL FLOAT, DOUBLE BINARY, VARBINARY, LONGVARBINARY DATE TIME TIMESTAMP Java Type String java.math.bigdecimal boolean byte short int long float double byte[] java.sql.date java.sql.time java.sql.timestamp Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 18
19 Metadaten Beschreibung der Struktur der Datenbank und deren Tabellen DatabaseMetaData: <Connection>.getMetaData() ResultSet gettables(string catalog, String schema, String table, String[] types) ResultSet getcolumns(string catalog, String schema, String table, String column) - catalog: Name des Katalogs "" Tabellen ohne Katalog, null Katalognamen nicht berücksichtigen - scheme: Schemaname "" Tabellen ohne Schema, null nicht berücksichtigen - table: Tabellenname null nicht berücksichtigen - column: Spaltenname null nicht berücksichtigen - types: Typische namen: "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM" Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 19
20 Metadaten ResultSetMetaData: <ResultSet>.getMetaData() int getcolumncount() - Anzahl der Spalten im ResultSet. String getcolumnname(int column) int getcolumntype(int column) String getcolumntypename(int column) String gettablename(int column) Nr 1 2 Name Max Kurt Title Mag. DI Age SELECT Nr, Name, Age FORM users; getcolumncount() => 3 getcolumnname(1) => "Nr" getcolumntype(3) => 4 getcolumntypename(3) => "int" gettablename(2) => "users" Nr 1 2 Name Age Max 25 Kurt 27 Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 20
21 Transaktionen Auto Commit: Jede Anweisung ist eine abgeschlossene Transaktion. Abfragen: - <Connection>.getAutoCommit() Setzen: - <Connection>.setAutoCommit(bool) Abschliessen einer Transaktion: <Connection>.commit() Rücksetzen im Fehlerfall (z.b.: SQLException): <Connection>.rollback() Connection con; try { con.setautocommit(false); Statement stat = con.createstatement(); stat.executeupdate("insert "); stat.executeupdate("insert "); stat.executeupdate("update "); con.commit(); } catch (SQLException e) { con.rollback(); } Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 21
22 Zusammenfassung Datenbankunabhängigkeit Zwischenschicht Treiberschnittstelle (mind. SQL 92) - 4 Treiberarten: JDBC -> ODBC Teilweise Java Nur Java zu einer Middleware Nur Java zur Datenbank Einfachere Programmentwicklung Beliebige SQL-Kommandos absetzbar Optimierung / Datenbankabhängigkeit Arten von Statements java.sql.statement - Statisch oder vom Benutzer frei wählbar (Achtung: SQL injection) java.sql.preparedstatement - Vorbereitete Statements (Sicher gegen SQL injection, schnell) java.sql.callablestatement - Ausführen von SQL stored procedures Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 22
23 Neuerungen in JDBC 4.0 (Java 6.0) Spezifiziert in JSR-221 Automatisches Laden des Treibers beim Verbindungsaufbau SQL:2003 Unterstützung großer Objekte (CLOB, BLOB) Mehr Datentypen (SQLXML) Neue Exceptions SQLTransientException SQLRecoverableException SQLNonTransientException JavaDB (Derby) Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 23
24 Java Typ JDBC Typ (PreparedStatement) JSR 221, JDBC Specification 4, November 7, 2006, Page 198 Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 24
25 JDBC Typ Java Typ (ResultSet) JSR 221, JDBC Specification 4, November 7, 2006, Page 199 Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 25
26 Arbeiten mit Derby Umgebungsvariablen JAVA_HOME= Pfad zur Java-Installation DERBY_INSTALL=%JAVA_HOME%\db CLASSPATH + %DERBY_INSTALL%\lib\derby.jar + %DERBY_INSTALL%\lib\derbytools.jar PATH + %JAVA_HOME%\db\frameworks\embedded\bin Systeminformationen java org.apache.dery.tools.sysinfo Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 26
27 Arbeiten mit Derby Kommandozeilenwerkzeug java org.apache.derby.tools.ij Verbinden zu, und erzeugen einer Datenbank Erzeugen einer Tabelle Beschreibung einer Tabelle Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 27
28 Arbeiten mit Derby Abfragen von Datensätzen Aktualisieren eines Datensatzes Löschen einer Tabelle Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 28
Java Database Connectivity-API (JDBC)
Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist herstellerabhängig
MehrJava Database Connectivity-API (JDBC)
Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist Herstellerabhängig
MehrJava Database Connectivity-API (JDBC)
Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist Herstellerabhängig
MehrJava Database Connectivity API / JDBC
Java Database Connectivity API / JDBC Motivation Design Treiber Grundlagen Metadaten Transaktionen Exceptions Praktikum aus Softwareentwicklung 2 Markus Löberbauer 1 Motivation Problem: Zugriff auf DBMS
MehrJava Database Connectivity API / JDBC
Java Database Connectivity API / JDBC Motivation Design Treiber Grundlagen Metadaten Transaktionen Exceptions Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf DBMS
MehrPraktikum aus Softwareentwicklung 2, Stunde 7
Praktikum aus Softwareentwicklung 2, Stunde 7 Lehrziele/Inhalt 1. Datenbanken Datenbanken Datenbanken werden in Java über JDBC (ist ein Eigenname, wird aber oft als Abkürzung von Java Database Connectivity
MehrJava Database Connectivity-API (JDBC)
Java Database Connectivity-API (JDBC) Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 JDBC Einführung Verbindungsaufbau Datenbankanweisungen Arbeiten mit ResultSet Typen Metadaten Transaktionen
MehrClient/Server-Programmierung
Client/Server-Programmierung WS 2017/2018 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 14. September 2017 Betriebssysteme / verteilte
MehrHo Ngoc Duc IFIS - Universität zu Lübeck
Ho Ngoc Duc IFIS - Universität zu Lübeck 16.04.2003 1 Standard für relationale DB: SQL Vor JDBC: Open Database Connectivity (ODBC), uniforme Schnittstelle für Zugriff JDBC: Programmierschnittstelle (Java-API)
MehrJava Database Connectivity-API (JDBC)
Java Database Connectivity-API (JDBC) Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 JDBC Einführung Verbindungsaufbau Datenbankanweisungen Arbeiten mit ResultSet Typen Metadaten Transaktionen
MehrJDBC- JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network. M. Löberbauer, T. Kotzmann, H. Prähofer
JDBC- Java Database Connectivity JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer JDBC Einführung Verbindungsaufbau Datenbankanweisungen
MehrEinführung in JDBC. IFIS Universität zu Lübeck 18.04.2007
Einführung in JDBC IFIS Universität zu Lübeck 18.04.2007 1 Was ist JDBC Standard für relationale DB: SQL Vor JDBC: Open Database Connectivity (ODBC), uniforme Schnittstelle für Zugriff JDBC: Programmierschnittstelle
MehrDatenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen
Datenbanksysteme Programmieren von Datenbankzugriffen mit JDBC Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2018 Übersicht Architektur von JDBC Ziele von JDBC Grundstruktur
MehrJava: MySQL-Anbindung mit JDBC.
Java: MySQL-Anbindung mit JDBC Vorarbeiten Wir brauchen: - MySQL-Server - JDBC-Treiber - (Import java.sql.*) Vorarbeiten MySQL-Server in unserem Falle: WAMP (= Apache) (runterladen, installieren, starten)
MehrClient/Server-Programmierung
Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 20. November 2015 Betriebssysteme / verteilte
MehrDatenbanken SQL-Grundlagen JDBC SQL-Constraints. Programmieren II. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011
Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 Datenbanken 2 SQL-Grundlagen 3 JDBC 4 SQL-Constraints Relationale Datenbanken Ein Datenbanksystem ist ein System zur Speicherung
MehrDatenbanken SQL JDBC. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 21
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 21 Datenbanken SQL JDBC 2 / 21 Relationale Datenbanken Ein Datenbanksystem ist ein System zur Speicherung von (großen) Datenmengen:
Mehrseit Java 1.1 Bestandteil der API: packages java.sql, javax.sql
JDBC inoffizielle Abkürzung für: Java Database Connectivity seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql ist eine Menge von Klassen und Methoden, um aus Java-Programmen relationale Datenbanken
MehrJDBC. JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network. Institut für Systemsoftware, Johannes Kepler Universität Linz
JDBC JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network Pratikum SWE 2 Institut für Systemsoftware, Johannes Kepler Universität Linz JDBC Einführung Verbindungsaufbau Datenbankanweisungen Arbeiten
MehrProgrammieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008
Programmieren II Datenbanken Dr. Klaus Höppner SQL Hochschule Darmstadt SS 2008 JDBC 1 / 20 2 / 20 Relationale Datenbanken Beispiele für RDBMS Ein Datenbanksystem ist ein System zur Speicherung von (großen)
MehrKapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1
Kapitel 10 JDBC und SQLJ 1 JDBC und SQLJ Bisher: Einbettung von SQL (statisch bzw. dynamisch) in C, C++, COBOL, ADA (embedded SQL) bzw. prozedurale Erweiterungen für SQL in Oracle (PL/SQL) Was ist mit
MehrWillkommen. Datenbanken und Anbindung
Willkommen Datenbanken und Anbindung Welche stehen zur Wahl? MySQL Sehr weit verbreitetes DBS (YT, FB, Twitter) Open-Source und Enterprise-Version Libs in C/C++ und Java verfügbar Grundsätzlich ist ein
MehrJava Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1
Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen
MehrProgrammieren II. Relationale Datenbanken. Vorlesung 07. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011.
Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 26 Datenbanken SQL-Grundlagen JDBC SQL-Constraints 2 / 26 Relationale Datenbanken Ein Datenbanksystem ist ein System zur
MehrUniversität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7 Aufgabe 2 + 3: Datenbanksysteme I import java.sql.*; import oracle.jdbc.driver.*;
MehrDatenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen
Programmieren von Datenbankzugriffen mit JDBC Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Überblick über das Package java.sql Übersicht Architektur von JDBC Grundstruktur eines
MehrTag 5 Inhaltsverzeichnis
Tag 5 Inhaltsverzeichnis ODBC / JDBC: Ziel und Prinzip JDBC Überblick Erstes Beispiel Queries (Execute- und UpdateQuery) Der Typ "ResultSet" Diverses Metadata PreparedStatement Transaktionen und Batches
MehrGrundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn
Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher
MehrJDBC. Java DataBase Connectivity
JDBC Java DataBase Connectivity JDBC-Schichten JDBC besteht aus 2 Teilen, 1. aus Datenbanktreibern, die den Anschluß von Java-Anwendungen an Datenbanksysteme wie Sybase, DB/2, Oracle, MS ACCESS oder Mini
MehrVorlesung Informatik II
Vorlesung Informatik II Universität Augsburg Sommersemester 2011 Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 10. Java: Datenhaltung mit Datenbanken 1 Datenbank-Programme Derby (Hersteller: Apache
MehrDatenbanksysteme 2011
Datenbanksysteme 2011 noch Kapitel 10: Datenbankapplikationen Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen MS Visio MS Access Embedded SQL im C-Programm JDBC /
MehrPRAKTIKUM SOFTWAREENTWICKLUNG 2
PRAKTIKUM SOFTWAREENTWICKLUNG 2 JDBC SYSTEM SOFTWARE 1 JDBC Einführung Verbindungsaufbau Datenbankanweisungen Arbeiten mit ResultSet Typen Metadaten Transaktionen Zusammenfassung Datenbanksystem Derby
MehrOracle & Java HOW TO
Oracle & Java HOW TO Helge Janicke, Niels-Peter de Witt, Karsten Wolke 21. Januar 2002 Inhaltsverzeichnis 1 Java-Anbindung an Oracle-DB 2 2 Benötigte Programme und Daten 2 3 Einbinden der Klassen 2 4 Aufbau
MehrAusgewählte Implementierungsprobleme
Ausgewählte Implementierungsprobleme Rebecca Tiarks 22. Januar 2009 1 / 50 Inhaltsverzeichnis 1 2 / 50 Datenbanken Sammeln, Zugreifen und Verwalten von Daten in der Computerwelt geschieht das mit Datenbanken
MehrJDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.
JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten
MehrTag 5 Inhaltsverzeichnis
Tag 5 Inhaltsverzeichnis ODBC / JDBC: Ziel und Prinzip JDBC Überblick Erstes Beispiel Queries (Execute- und UpdateQuery) Der Typ "ResultSet" Diverses Metadata PreparedStatement Transaktionen und Batches
MehrWebbasierte Informationssysteme
SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)
MehrKapitel DB:VI (Fortsetzung)
Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus
MehrJava Database Connectivity. Gracin Denis, IB 4 C
Java Database Connectivity Gracin Denis, IB 4 C Agenda 1. JDBC-Architektur 2. Treiber der JDBC 2.1 Typ-1 Treiber 2.2 Typ-2 Treiber 2.3 Typ-3 Treiber 2.4 Typ-4 Treiber 3. Verbindungsablauf 4. Connection
MehrDatenbankentwurf & Datenbankzugriff mit JDBC. Georg Köster Sven Wagner-Boysen
Datenbankentwurf & Datenbankzugriff mit JDBC Georg Köster Sven Wagner-Boysen 6. November 2007 Gliederung 2 Datenbankentwurf für ProminentPeople.info ER-Modell Relationaler Entwurf Normalisierung Datenbankzugriff
MehrJava und Datenbanksysteme Datenbankanbindung mit JDBC
Java und Datenbanksysteme Datenbankanbindung mit JDBC 30.05.2001 Stefan Niederhauser sn@atelier-w.ch 1-Einführung Datenbanksysteme Java und Datenbanken: JDBC Geschichte der JDBC-Versionen Vergleich von
MehrDas diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
Mehr11 Anwendungsprogrammierung
11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:
MehrHauptschritte einer JDBC-App
JDBC Java DataBase Connectivity Sammlung von Klassen und Interfaces zur Arbeit mit Datenbanken auf Basis von SQL Package java.sql Datenbankmanagementsystem und eine oder mehrere Datenbanken Jdbc Driver,
MehrDatenbankanwendungen (JDBC)
Datenbankanwendungen (JDBC) Hierarchie: Connection Transaction Statement Connection Aufbau (klassisch): Registrierung des JDBC Driver beim DriverManager: Class.forName(JDBC Driver); Eigentlicher Verbindungsaufbau
MehrDatenbankzugriff mit JDBC
Java: Kapitel 8 Datenbankzugriff mit JDBC Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick über Kapitel 8 Einführung in SQL und JDBC Verbindung zur Datenbank
MehrDatenbanken 1 für Mediennformatiker WS 06. 4. ODBC, JDBC und SQLJ: Datenbank-Anbindung an Anwendungsprogramme
Datenbanken 1 für Mediennformatiker WS 06 4. ODBC, JDBC und SQLJ: Datenbank-Anbindung an Anwendungsprogramme Der letzte Schritt Diese grafische Oberfläche mit der Ebay-Datenbank verbinden... Anwendungen
MehrDatenbank und Informationssysteme
Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen 3 1.1 Architektur des SQL/CLI am Beispiel JDBC................... 4 1.2 Anfragen und Ergebnismengen in JDBC......................
MehrHauptschritte einer JDBC-App
JDBC Java DataBase Connectivity Sammlung von Klassen und Interfaces zur Arbeit mit Datenbanken auf Basis von SQL Package java.sql Datenbankmanagementsystem und eine oder mehrere Datenbanken Jdbc Driver,
MehrMySQL mit MyLinux. boehm@2xp.de. 2/2003 boehm@2xp.de Java unter Linux
Bild: www.carsten-lehmann.de MySQL mit MyLinux boehm@2xp.de 1 MySQL mit MyLinux Überblick über MySQL & Co Überblick über MySQL MySQL in 5 Minuten JDBC mit MySQL Ende 2 Überblick über MySQL & Co 3 Datenbanken
MehrÜbersicht. Relationale Datenbanken SQL - Structured Query Language JDBC - Java Datenbank Schnittstelle Beispielanwendung. R. Kopetzky 7.
Informatik Verbund Stuttgart der Universität Stuttgart Tutorium Java Anbindung von Datenbanken mit JDBC (kopetzky@ike.uni-stuttgart.de) Übersicht Relationale Datenbanken SQL - Structured Query Language
MehrMusterlösung Übungsblatt 11
Julia Wolters Abgabe: 06.07.2009 Aufgabe 41 1 Aufgabe 41 2 3 CREATE TABLE auftraege ( 4 anfang TIMESTAMP NOT NULL, 5 ende TIMESTAMP, 6 kunde VARCHAR, 7 beschreibung VARCHAR, 8 PRIMARY KEY ( anfang, kunde,
MehrMySQL mit MyLinux. 2/2003 Java unter Linux
Bild: www.carsten-lehmann.de MySQL mit MyLinux boehm@2xp.de 2/2003 boehm@2xp.de Java unter Linux 1 MySQL mit MyLinux Überblick über MySQL & Co Überblick über MySQL MySQL in 5 Minuten JDBC mit MySQL Ende
Mehr1a) SQL Stored Procedure via IDs
1a) SQL Stored Procedure via IDs Erstellen Sie analog zu Aufgabe 2d) des ersten Übungsblatts eine SQL Stored Procedure, welche den Freundschaftsgrad zweier Benutzer eines sozialen Netzwerks aktualisiert.dazu
MehrWebbasierte Informationssysteme
SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)
MehrUniversität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6
Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez. 2011 Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6 Datenbanksysteme I Aufgabe 1: Deklarative Änderungsoperationen
MehrAndroid Programmierung. Studiengang MI
Android Programmierung mit Java Studiengang MI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://mwilhelm.hs-harz.de Raum 2.202 Tel.
MehrUni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr. Praktikum: Datenbanken Woche 9: Wiederholung, Transaktionskonzept,
Praktikum: Datenbanken Raum: LF230 Bearbeitung: 20.-22.6. 2005 Datum Gruppe Vorbereitung Präsenz Transaktionen Transaktionen in Datenbanken sind charakterisiert durch die sogenannten ACID-Eigenschaften.
MehrMySQL, phpmyadmin & SQL. Kurzübersicht
MySQL, phpmyadmin & SQL Kurzübersicht Referenzen MySQL Documentation: http://dev.mysql.com/doc PHP 5 / MySQL5. Studienausgabe. Praxisbuch und Referenz (Kannengießer & Kannengießer) 2 Datenbank anlegen
MehrKapitel DB:VI (Fortsetzung)
Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus
MehrDB-Programmierung. Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1. Ziele. DB2 Zugriff mit Java selbst programmieren
DB-Programmierung Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele static SQL verstehen Build-Prozess / Art des Datenzugriffs Host-Variablen Vor- / Nachteile dynamic SQL verstehen
MehrJava Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.
1 Copyright 1996-1997 by Axel T. Schreiner. All Rights Reserved. 7 Datenbankzugriff Prinzip Dieser Abschnitt beschäftigt sich mit dem Paket java.sql, das eine SQL-Schnittstelle für Java verkapselt. Java-Programme
MehrJava und Datenbanken
Java und Datenbanken Benutzerschnittstelle DB-Client Client Benutzerschnittstelle CORBA, HTTP,... DB-Client Anwendungslogik DB-Schnittstelle JDBC, SQLJ Anwendungslogik DB-Schnittstelle Anwendungs- Server
MehrDatenbanksysteme I Übung: JDBC. Jana Bauckmann
Datenbanksysteme I Übung: JDBC Jana Bauckmann Wo reicht SQL alleine nicht? 2 Web-Anwendungen Daten übersichtlich und schön präsentieren Komplizierte Fragestellungen Sind sich 2 Tupel ähnlich? Duplikaterkennung
MehrKapitel 11: Anwendungsentwicklung
Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2015/2016 Kapitel 11: Anwendungsentwicklung Vorlesung:
MehrKapitel 11: Anwendungsentwicklung
Skript zur Vorlesung Wintersemester 2005/2006 Kapitel 11: Anwendungsentwicklung Vorlesung: Dr. Matthias Schubert Übungen: Elke Achtert, Arthur Zimek Skript 2004 Christian Böhm http://www.dbs.informatik.uni-muenchen.de/lehre/dbs
MehrUnified-E SQL Adapter
Betrifft: Version 1.6.0.0 und höher Stand: April 2018 Unified-E SQL Adapter Inhalt 1 Allgemeines... 2 2 Adapter-Parameter... 2 2.1 Allgemeine Parameter... 2 2.2 Datenbankspezifische Parameter... 3 2.2.1
MehrJDBC (Stichworte) Udo Kelter
JDBC (Stichworte) Udo Kelter 19.12.2011 Zusammenfassung dieses Lehrmoduls JDBC (Java Database Connectivity) ist eine Schnittstelle, über die von Java-Programmen aus auf die Inhalte relationaler Datenbanken
Mehrvs. Fehler zur Übersetzungszeit
Client-Server-Architektur, Anbindung von Programmiersprachen, Call-Level-Schnittstellen: /, JDBC, :, J, gespeicherte Prozeduren, prozedurale Erweiterungen: /PSM, PL/. IPD, Forschungsbereich Systeme der
MehrDatenbanksysteme I Datenbankprogrammierung. 15.6.2009 Felix Naumann
Datenbanksysteme I Datenbankprogrammierung 15.6.2009 Felix Naumann SQL mit einer Programmiersprache verbinden 2 Embedded SQL Kombiniert SQL mit 7 Programmiersprachen ADA, C, Cobol, Fortran, M, Pascal,
MehrOracle: Abstrakte Datentypen:
Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8
MehrWie kommen die Befehle zum DBMS
Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS Workbench Kommandozeile IBM Query Tool Weitere?
MehrKlausur Datenbanken II
Klausur Datenbanken II 8.3.2001 Name Vorname Semester Matrikelnr Aufgabe Punkte maximal 1 8 2 8 3 3 4 3 5 4 6 6 7 6 8 6 9 [Zusatz] [4] Summe 44 Punkte erreicht Bitte geben Sie die Lösungen möglichst direkt
MehrPHP- Umgang mit Datenbanken (1)
PHP- Umgang mit Datenbanken (1) Weitere Funktionen zum Umgang mit Datenbanken (Erzeugen, Löschen) und Tabellen (Erzeugen, Löschen) Zum Beispiel für das Erzeugen einer neuen Datenbank $dbname= blumendb
MehrUdo Matthias Munz. Datenbanken und SQL. mit. Einführung. Informationstechnik
Udo Matthias Munz Datenbanken und SQL mit Einführung Informationstechnik Zugriff auf eine Datenbank... 2 ODBC... 2 Eine DSN einrichten... 3 Verbindung zu einer Datenbank... 4 Datenbank... 4 Metadaten der
MehrSQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99
SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:
MehrAusarbeitung des Referats JDBC
. Markus Zywitza Markus Zywitza Matr.-Nr. 832576 Email: i753@informatik.fh-wiesbaden.de mzywitza@t-online.de markus.zywitza@gmx.de Ausarbeitung des Referats JDBC.......... Datenbank-Anbindung unter Java
MehrKurzübersicht JDBC. Marc Monecke. monecke@informatik.uni-siegen.de. 15. Januar 2003
Kurzübersicht JDBC Marc Monecke monecke@informatik.uni-siegen.de 15. Januar 2003 Zusammenfassung Über JDBC-Schnittstellen können Anwendungsprogramme auf Datenbanken zugreifen, ohne daß dabei hersteller-
Mehr7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2
5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken
MehrKapitel 11: Anwendungsentwicklung
Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für ysteme Skript zur Vorlesung Wintersemester 2010/2011 Kapitel 11: Anwendungs Vorlesung: DP Dr. Matthias Schubert
Mehr7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2
5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken
MehrÜbung3. Test der Möglichkeiten des JDBC-Interfaces. Prof. Dr. Andreas Schmietendorf 1. Übung 3
Übung3 Test der Möglichkeiten des JDBC-Interfaces Prof. Dr. Andreas Schmietendorf 1 Überblick & Zielstellungen Prof. Dr. Andreas Schmietendorf 2 Überblick Die Verwendung eines Datenbankmanagementsystems
MehrJDBC. VU Datenbanksysteme. Wolfgang Fischl
JDBC VU Datenbanksysteme Wolfgang Fischl Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester 2015/16 Gliederung Einführung
MehrDatenbankzugriff mit JDBC
Datenbankzugriff mit Praktikum aus Softwareentwicklung 2 Abteilung für Bioinformatik, JKU Linz - 1 Datenbankzugriff mit Grundlagen, DriverManager, Connection, HSQLDB Installation und Anwendung Abteilung
MehrUniversität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 11. Dez Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 7
Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 11. Dez. 2009 Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 7 Aufgabe 1: Basisoperationen mit JDBC Datenbanksysteme I a)
MehrMehr Performance mit JDBC JAVA-Anwendungen und die Oracle-Datenbank. Carsten Czarski Business Unit Database Oracle Deutschland GmbH
Mehr Performance mit JDBC JAVA-Anwendungen und die Oracle-Datenbank Carsten Czarski Business Unit Database Oracle Deutschland GmbH Oracle JDBC Treiber Versionen Datenbank-Release J D B C 10.1.0 9.2.0 9.0.1
MehrSQL (Structured Query Language) Schemata Datentypen
2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente
MehrJDBC. VL Datenbanksysteme. Ingo Feinerer
JDBC VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung Einführung DB-Anbindung an Programmiersprachen
MehrAnwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können!
Datenbanken: Standard CLI und JDBC Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können! (Endanwendern ist nicht zuzumuten, SQL zu lernen
Mehr