Ziel: Verständnis für Konzepte von JDBC aufbauen
|
|
- Gerburg Schreiber
- vor 8 Jahren
- Abrufe
Transkript
1 11. JDBC Grundsätzliche Nutzung von JDBC Verbindungsaufbau Anfragen Analyse des erhaltenen Ergebnisses Veränderungen des Ergebnisses Ziel: Verständnis für Konzepte von JDBC aufbauen 253
2 Überblick: Datenbankanfragen mit JDBC Datenbankverbindung herstellen class DriverManager Connection con= DriverManager.getConnection(...); Statement stmt= con.createstatement(); Datenbankanfrage ResultSet rs = stmt.executequery(...); Ergebnisse verarbeiten rs.next(); int n = rs.getint("knr"); Verbindung zur DB schließen con.close(); 254
3 Verbindungsaufbau mit einer Datenbank Laden des Datenbanktreibers DriverManager.registerDriver( new oracle.jdbc.driver.oracledriver()); Aufbau einer Verbindung Connection con = DriverManager.getConnection ("jdbc:postgresql://rechner:5712/eshop", "user", "password"); JDBC-URL identifiziert Datenbank Aufbau: jdbc:subprotocol:subname Treibermanager übergibt JDBC-URL der Reihe nach an registrierte Treiber Driver.acceptsURL(String url) liefert true, falls der Treiber den String akzeptiert 255
4 Auslesen der Oracle-Verbindungsdaten Oracle versteckt irgendwo Verbindungsdaten in tnsnames.ora benötigt wird IP-Adresse, Port (default 1521), Name der DB- Instanz (z. B. in SID) + Nutzername und Passwort Daraus abgeleiteter Connection-String für HS-DB (SID: Ora11) Connection con = DriverManager.getConnection( "jdbc:oracle:thin:@srv20.edvsz.hs-osnabrueck.de" +":1521:Ora11", "username", "passwort"); Connection-String für DB auf lokalem Rechner (Oracle XE) Connection con = DriverManager. getconnection("jdbc:oracle:thin:@localhost:1521:xe", "username", "passwort"); 256
5 Connection Ergebnis von DriverManager.getConnection() ist eine Connection con (oder eine SQLException) Connection ist Verbindung zur Datenbank Connection ist teure Ressource: Aufbau der Verbindung kostet viel Zeit Anzahl gleichzeitiger Verbindungen häufig beschränkt Wichtigste Aufgaben: Erzeugen von Statement-Objekten Beschreibungen von Datenbank und DBMS erfragen Transaktionen handhaben 257
6 Statement Statement stmt = con.createstatement(); Wird immer aus bestehender Connection erzeugt Aufgabe: Ausführen einer SQL-Anweisung über die Connection Mehrere parallele Statements pro Connection möglich SELECT-Anweisung ausführen: ResultSet rs = stmt.executequery("select * FROM Kunde"); Daten ändern: int updates = stmt.executeupdate("delete FROM Kunde..."); 258
7 Analyse von ResultSet ResultSet rs = stmt.executequery("select * FROM Kunde"); Ergebnis einer Selektionsanweisung: Tabelle ResultSet enthält einen Datensatz-Zeiger (Cursor) zum Durchlauf der Tabelle Voreinstellung: sequenziell und lesend JDBC 2: nichtsequenzielle und aktualisierbare ResultSets Zeiger steht initial vor der ersten Tabellenzeile. rs.next() positioniert zur nächsten Zeile, liefert false, falls bereits auf letzter Zeile 259
8 Attributwerte auslesen (1/2) Spaltenwerte (Attribute) einer Zeile mit getxxx()- Methoden lesen Treiber konvertiert Daten, falls möglich Beispiel: Lesen einer ganzen Zahl in DB-Spalte kundennr: int n = rs.getint("kundennr"); Effizientere Methode, falls Spaltenindex bekannt: int n = rs.getint(4); Spaltenindex zum Spaltennamen finden int findcolumn(string columnname) Strategie: Spaltenindex einmalig ermitteln und merken, Werte danach immer über den Index abrufen 260
9 Attributwerte auslesen (2/2) Methode getobject() Liest jeden beliebigen SQL-Datentyp Liefert Ergebnis als entsprechenden Java-Typ Nullwerte Spalte kann leere Zellen enthalten (Nullwert, SQL- NULL) Bei leerer Zelle liefert getint() ebenfalls das Ergebnis 0. Unterscheidung zu echter 0 möglich durch wasnull() true, falls zuletzt mit getxxx() gelesene Zelle SQL-NULL enthielt false sonst 261
10 Daten ändern ResultSet executequery(string) führt SELECT- Anweisung aus int Statement.executeUpdate(String) führt INSERT-, UPDATE- oder DELETE-Anweisung aus Liefert Anzahl betroffener Zeilen (Update count) Auch für sonstige Befehle (CREATE...) geeignet boolean execute(string) führt beliebige SQL- Anweisung aus. Liefert true, falls Ergebnis ein ResultSet ist, dann mit getresultset() Ergebnis abrufbar Liefert false, falls Ergebnis ein Update count ist 262
11 ResultSet: positionieren und ändern Statement createstatement(int resultsettype, int resultsetconcurrency) Parameter (ResultSet-Konstanten) ermöglichen beliebiges Positionieren (Scrolling) und Ändern der Datensätze. TYPE_FORWARD_ONLY: sequentieller Durchlauf TYPE_SCROLL_INSENSITIVE: positionierbar, Änderungen an Datenbank werden nicht bemerkt. TYPE_SCROLL_SENSITIVE: positionierbar, Änderungen an Datenbank werden bemerkt. CONCUR_READ_ONLY: nur lesen CONCUR_UPDATABLE: Änderungen möglich 263
12 ResultSet: positionieren (1/3) void beforefirst() Positioniert vor den ersten Satz. boolean first() Positioniert auf den ersten Satz. boolean last() Positioniert auf den letzten Satz. void afterlast() Positioniert hinter den letzten Satz. 264
13 ResultSet: positionieren (2/3) boolean absolute(int pos) Positioniert relativ zum Anfang (pos positiv) oder relativ zum Ende (pos negativ). boolean relative(int rows) Positioniert relativ zum aktuellen Satz vorwärts (rows positiv) oder rückwärts (rows negativ). boolean next() Positioniert auf den nächsten Satz. boolean previous() Positioniert auf den vorigen Satz. 265
14 ResultSet: positionieren (3/3) int getrow() Liefert aktuelle Satznummer boolean isbeforefirst() Liefert true, falls vor dem ersten Satz. boolean isfirst() Liefert true, falls auf dem ersten Satz. boolean islast() Liefert true, falls auf dem letzten Satz. boolean isafterlast() Liefert true, falls hinter dem letzten Satz. 266
15 ResultSet: Datensatz ändern Methoden updatexxx() ändern Werte in aktueller Zeile. rs.absolute(5); rs.updatestring("name", "Heinz"); rs.updateint(2, 42); rs.updatenull(3); rs.updaterow(); void updaterow() Schreibt geänderte Zeile in die Datenbank (*) void cancelrowupdates() Macht Änderungen rückgängig nur vor updaterow(). void deleterow() Löscht aktuelle Zeile aus ResultSet (*) Ob Bearbeitung des ResultSet sich direkt auf die Datenbank auswirkt, hängt von Autocommit-Einstellung ab [später] 267
16 ResultSet: Datensatz einfügen Einfügezeile: im ResultSet, nicht in der Datenbank rs.movetoinsertrow(); rs.updatestring("name", "Callaghan"); rs.updateint(2, 42); rs.insertrow(); rs.movetocurrentrow(); void movetoinsertrow() Positioniert auf die Einfügezeile void insertrow() Schreibt Einfügezeile in ResultSet und Datenbank (abhängig von Autocommit-Einstellung) void movetocurrentrow() Positioniert von der Einfügezeile auf die aktuelle Zeile im ResultSet 268
17 PreparedStatement (1/2) PreparedStatement Objekt enthält vorübersetzte SQL-Befehle geeignet, wenn Statement mehr als einmal ausgeführt werden muss PreparedStatement kann Variablen enthalten, die jedesmal bei Ausführung definiert werden Ansatz: Erzeuge PreparedStatement, identifiziere Variablen mit? PreparedStatement pstmt = con.preparestatement ("UPDATE Kunde SET Status =? where Umsatz >?"); 269
18 PreparedStatement (2/2) 1. Variablen-Werte übergeben pstmt.setxxx(index,value); 2. Statement ausführen pstmt.executequery(); pstmt.executeupdate(); int goldenerkunde=42000; PreparedStatement pstmt = con.preparestatement ("UPDATE Kunde SET Status =? where Umsatz >?"); pstmt.setstring (1, "Gold"); pstmt.setint (2, goldenerkunde); pstmt.executeupdate(); 270
19 COMMIT Für Connection con ist automatisch ein Auto- COMMIT eingestellt, alle Aktionen direkt auf der Datenbank Mit con.setautocommit(boolean) einstellbar Starteinstellung über con.getautocommit() ermitteln (bei Oracle default: true!) con.commit() zum erfolgreichen Abschließen con.rollback() zum Verwerfen der Änderungen seit dem letzten Commit 271
20 Verbindungsaufbau (Ausschnitt) import oracle.jdbc.*; // besser ausschreiben import java.sql.*;... try { // Oracle JDBC-Treiber laden DriverManager. registerdriver(new oracle.jdbc.driver.oracledriver()); Connection con = DriverManager. getconnection("jdbc:oracle:thin:@srv20.edvsz" +".hs-osnabrueck.de:1521:ora11", "kleuker", "passwort"); // Oracle DatabaseMetaData fuer Meta-Informationen DatabaseMetaData meta = con.getmetadata(); // Beispielmetainformation: Treiberversion System.out.println("JDBC driver version is "+ meta.getdriverversion()+"\n"); befehl=con.createstatement(); //private Statement befehl } catch (SQLException e) {... } 272
21 Einfache Verbindungsnutzung (Ausschnitt) ResultSet result; ResultSetMetaData metaresult; try { result=befehl.executequery("select * FROM City"); metaresult=result.getmetadata(); int spalten = metaresult.getcolumncount(); while(result.next()){ for(int i=1; i<=spalten;i++) ausgabe.append(result.getstring(i)+" "); ausgabe.append("\n"); } ausgabe.append("bearbeitung abgeschlossen\n"); result.close(); } catch (SQLException es) { while (es!=null){ //evtl. mehr als eine Exception fehler.append("fehlercode: "+es.geterrorcode()+"\n"); fehler.append("sql State: "+es.getsqlstate()+"\n"); fehler.append(es+"\n"); es= es.getnextexception(); } } 273
22 Einbindung von Oracle-JDBC in Eclipse Rechtsklick auf Projekt, dann Properies wählen, Java Build Path, dann Reiter Libraries, dann Add External JARs... Quellen: Oracle Web-Seiten C:\sqldeveloper\jdbc\lib\ojdbc6.jar Dann passenden Treiber suchen, z. B. ojdbc6.jar 274
23 Erinnerung: PL/SQL-Funktion CREATE OR REPLACE FUNCTION anzahlnasen(namepar Angestellte.Name%TYPE) RETURN INTEGER /* oder NUMBER */ IS ergebnis INTEGER; BEGIN IF namepar = 'Meier' THEN RAISE_APPLICATION_ERROR(-20300, 'Meiers nicht zählbar'); END IF; SELECT COUNT(*) INTO ergebnis FROM Angestellte WHERE Angestellte.Name=namePar; RETURN ergebnis; END; 275
24 PL/SQL in Java Grundsätzlich besteht bei der Ausführung große Ähnlichkeit zu PreparedStatements benötigt wird Connection-Objekt con CallableStatement stmt=con.preparecall( "{? = call anzahlnasen(?)}"); man beachte geschweifte Klammern, bei Prozeduraufruf wird? = am Anfang weggelassen in Oracle auch möglich: CallableStatement stmt=con.preparecall( "BEGIN? := anzahlnasen(?); END;"); Ausgabeparameter müssen registriert werden stmt.registeroutparameter(1,types.integer); 276
25 Beispiel public int nasenzaehlen(string nachname){ int ergebnis=0; try { CallableStatement stmt=con.preparecall( "{? = call anzahlnasen(?)}"); stmt.registeroutparameter(1,types.integer); stmt.setstring(2,nachname); stmt.execute(); ergebnis=stmt.getint(1); } catch (SQLException e) { if(e.geterrorcode()==20300) // von RAISE_APPLICATION_ERROR ergebnis=-1; else{ ausnahmeausgeben(e); ergebnis=integer.min_value; } } return ergebnis; } 277
26 Nutzung von Cursor als Ergebnis (1/3) import java.sql.callablestatement; import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; import java.util.scanner; import oracle.jdbc.oracletypes; /* in Oracle fuer das MondialBeispiel CREATE OR REPLACE PROCEDURE STAEDTEIN( Land IN VARCHAR, stadtcursor IN OUT SYS_REFCURSOR) AS BEGIN OPEN stadtcursor for SELECT * FROM City WHERE City.Country=Land; END STAEDTEIN; */ /* Hinweis: Cursor nur lesbar, nicht schreibbar! */ 278
27 Nutzung von Cursor als Ergebnis (2/3) public class PLSQLCursorNutzungInJava { // public static void main(string[] s){ String nutzer="kleuker"; String passwort="kleuker"; try { DriverManager.registerDriver(new oracle.jdbc.driver.oracledriver()); //Verbindung aufbauen in der HS zur DB Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@srv20.edvsz.hs-osnabrueck" +".de:1521:ora11", nutzer, passwort); //Vorbereitung der PL/SQL-Nutzung ResultSet rset = null; CallableStatement cstmt = conn. preparecall("{call staedtein(?,?)}"); cstmt.registeroutparameter(2, OracleTypes.CURSOR); 279
28 Nutzung von Cursor als Ergebnis (3/3) } //Testprogramm String eingabe=""; while(!eingabe.equalsignorecase("ende")){ System.out.print( "Laenderkuerzel (Ende mit \"Ende\"): "); eingabe=(new Scanner(System.in)).next(); } cstmt.setstring(1,eingabe); cstmt.execute(); rset = (ResultSet) cstmt.getobject(2); while(rset.next()) System.out.println("Stadt: " +rset.getstring("name") +" Einwohner:" +rset.getint("population")); } conn.close(); } catch(exception e){ // ausarbeiten, wie immer } 280
29 Beispieldialog Laenderkuerzel (Ende mit "Ende"): GR Stadt: Piraeus Einwohner: Stadt: Patrai Einwohner: Stadt: Larisa Einwohner: Stadt: Iraklion Einwohner: Stadt: Volos Einwohner:71378 Stadt: Kavalla Einwohner:56705 Stadt: Athens Einwohner: Stadt: Thessaloniki Einwohner: Laenderkuerzel (Ende mit "Ende"): LAR Stadt: Tripoli Einwohner:0 Stadt: Bengasi Einwohner:0 Laenderkuerzel (Ende mit "Ende"): AND Stadt: Andorra la Vella Einwohner:15600 Laenderkuerzel (Ende mit "Ende"): ende 281
11. JDBC. Grundsätzliche Nutzung von JDBC Verbindungsaufbau Anfragen Analyse des erhaltenen Ergebnisses Veränderungen des Ergebnisses
11. JDBC Grundsätzliche Nutzung von JDBC Verbindungsaufbau Anfragen Analyse des erhaltenen Ergebnisses Veränderungen des Ergebnisses Ziel: Verständnis für Konzepte von JDBC aufbauen 270 Überblick: Datenbankanfragen
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
Mehr11. JDBC. Ziel: Verständnis für Konzepte von JDBC aufbauen. Prof. Dr. Stephan Kleuker. Datenbanken
11. JDBC Grundsätzliche Nutzung von JDBC Verbindungsaufbau Anfragen Analyse des erhaltenen Ergebnisses Veränderungen des Ergebnisses Einführung JUnit Einführung DBUnit Ziel: Verständnis für Konzepte von
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
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
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
MehrBeispiel: DB-Mock (1/7)
Beispiel: DB-Mock (1/7) Aufgabe: DB, auf die vereinfachend nur lesend zugeriffen wird mocken warum: benötigte keine DB-Lizenz, garantiert gleiche Werte ohne aufwändiges reset, kein Zeitverlust durch Verbindungsaufbau
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
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
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
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
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
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
MehrProzedurale Datenbank- Anwendungsprogrammierung
Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.
MehrDynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
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.*;
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
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-
Mehr9. Effiziente Datenverwaltung
9. Effiziente Datenverwaltung Index ISAM B-Baum B*-Baum 225 Index wird erstellt, um den schnelleren Zugriff auf einzelne Spalten zu erlauben CREATE INDEX ON ([,]); Index
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......................
MehrUNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme
UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme 8. Übung zur Vorlesung Datenbanksysteme WS 08/09 Musterlösung Aufgabe 8-1: SQLJ //
MehrJDBC. Allgemeines ODBC. java.sql. Beispiele
JDBC Java Data Base Connectivity Programmierschnittstelle für relationale Datenbanken Sammlung von Klassen, welche zum Aufbau einer Verbindung zwischen einem Java-Programm und einer Datenbank dienen Verwendet
MehrMiddleware Spezialist OpenLink bietet universellen Treiber für die meisten DBMS (inkl. PostgreSQL) und ODBC Datenquellen.
JDBC Treiber Middleware Spezialist OpenLink bietet universellen Treiber für die meisten DBMS (inkl. PostgreSQL) und ODBC Datenquellen. JDBC Treiber kontaktiert Request Broker. Request Broker vermittelt
MehrDatenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape. 6. Übung
Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape 6. Übung Aufgabe 1: In dieser Übung sollen Sie eine kleine Java-Anwendung schreiben, die auf die Oracle-Datenbank
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
Mehr11 Anwendungsprogrammierung
11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:
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
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)
MehrSQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter
SQLJ Standardisierte Java-DB DB-Schnittstelle Spezifikationen Part 0: Embedded SQL für Java (ANSI-Standard; Object Language Binding) Statische Einbettung von SQL-Anweisungen in Java-Quelltext Part 1: Java
MehrDipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009
Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger
MehrKlausur zur Vorlesung Datenbanksysteme I
Prof. Dr. W. Kießling 30.01.2002 Lehrstuhl für Datenbanken und Informationssysteme Universität Augsburg Klausur zur Vorlesung Datenbanksysteme I Wintersemester 2001/2002 Name Vorname Matrikelnummer Aufgabe
MehrDatenbanken & Informationssysteme Übungen Teil 1
Programmierung von Datenbankzugriffen 1. Daten lesen mit JDBC Schreiben Sie eine Java-Anwendung, die die Tabelle Books in der Datenbank azamon ausgibt. Verwenden Sie dabei die SQL-Anweisung select * from
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
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
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
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
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
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?
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:
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
MehrUniversität Stuttgart Abteilung Anwendersoftware 01.07.2002. - Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures
SQLJ Basics Universität Stuttgart Abteilung Anwendersoftware 01.07.2002 Was ist SQLJ? SQLJ Part 0: - Steht für Embedded SQL in Java SQLJ Part 1: - Java-Methoden als SQL Stored-Procedures SQLJ Part 2: -
MehrDas erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
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
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
MehrGeschäftslogik in die Datenbank Umstellung eines Kernbanksystems
Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems Michael Meyer Berenberg Bank Hamburg Schlüsselworte: PL/SQL, Objektorientierung, Oracle Types, XML, Zentralisierung der Geschäftslogik,
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: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrÜbung: Data Warehousing und Data Mining
Übung: Data Warehousing und Data Mining Sebastian Wandelt 20. Oktober 2011 wandelt@informatik.hu-berlin.de Überblick Organisatorisches Kurze Einführung JDBC PL/SQL 1. Aufgabenblatt Ablauf des Semesters
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
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
Mehr3. Stored Procedures und PL/SQL
3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln
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
MehrDatenbankanwendungen (JDBC)
Datenbankanwendungen (JDBC) Hierarchie: Connection Transaction Statement Connection Aufbau (klassisch): Registrierung des JDBC Driver beim DriverManager: Class.forName(JDBC Driver); Eigentlicher Verbindungsaufbau
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)
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
MehrErweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
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,
MehrFolgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133.
Page 1 of 7 Betrifft: Java oder PL/SQL? Art der Info: Technische Background Info Autor: Guido Schmutz (guido.schmutz@trivadis.com) Quelle: Aus unserer Schulungs- und Beratungstätigkeit Mit Oracle8.1 besteht
MehrÜbungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen
Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe
MehrDatenbanksysteme I. Aufgabe 1: Erstellen einer Multimedia-Datenbank. Grundlage sind wiederum bereits implementierte Methoden aus Übungsblatt 6:
Universität Augsburg, Institut für Informatik Wintersemester 2010/2011 Prof. Dr. W. Kießling 17. Dez. 2010 Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 7 Aufgabe 1: Erstellen einer Multimedia-Datenbank
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)
MehrE-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015
Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 6: Datenbankabfragen mit SQL und PHP Stand: 24.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische
MehrUniversität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 18. Dez Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 8
Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 18. Dez. 2009 Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 8 Aufgabe 1: JDBC 2.0 und Scrollable Result Sets Datenbanksysteme
MehrGesicherte Prozeduren
Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.
MehrDatenmanagement in Android-Apps. 16. Mai 2013
Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer
MehrEinfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrDatenbankschnittstellen erlauben Zugriff auf Datenbank aus einer externen Anwendung
Rückblick Datenbankschnittstellen erlauben Zugriff auf Datenbank aus einer externen Anwendung Portabilität als wichtige Anforderung, d.h. RDBMS oder Programmiersprache soll leicht austauschbar sein Call-Level
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
MehrJava 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7
Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrOracle SQL Tutorium - Wiederholung DB I -
Oracle SQL Tutorium - Wiederholung DB I - (Version 2.6 vom 24.2.2015) Einleitung Im Folgenden sind zur Wiederholung eine Reihe von SQL-Übungsaufgaben zu lösen. Grundlage für die Aufgaben ist die Mondial
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung
Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:
MehrHochschule Karlsruhe Technik und Wirtschaft
Hochschule Karlsruhe Technik und Wirtschaft Sommersemester 2009 Seite 1/12 Fakultät: Fakultät für Informatik und Wirtschaftsinformatik Semester: BC3 D4 Prüfungsfach: Datenbanken I Fachnummer: I 3B71 I
MehrBTree.dll - Balancierte und verkettete Bäume. Ecofor. BTree.dll. Realisiert mit Microsoft Visual Studio 16.04.2015 1/9
BTree.dll Realisiert mit Microsoft Visual Studio 16.04.2015 1/9 INHALT 1. Allgemein... 3 2. Class BTree1 (balanciert)... 3 3. Class BTree2 (balanciert und verkettet)... 4 4. Beschreibung BTree1 und BTree2...
MehrWPF Steuerelemente Listbox, ComboBox, ListView,
WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einführung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
Mehrphp Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...
php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.
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
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
Mehr5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
Mehr188.154 Einführung in die Programmierung für Wirtschaftsinformatik
Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger
MehrAG Datenbanken und Informationssysteme Wintersemester 2006 / 2007
AG Datenbanken und Informationssysteme Wintersemester 2006 / 2007 Prof. Dr.-Ing. Dr. h. c. Theo Härder Fachbereich Informatik Technische Universität Kaiserslautern http://wwwdvs.informatik.uni-kl.de import
MehrSQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar
Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-
Mehr7. Übungsblatt. Für die Übung am Donnerstag, 14. Dezember 2006, von 15:30 bis 17:00 Uhr in 13/222.
AG Datenbanken und Informationssysteme Wintersemester 2006 / 2007 Prof. Dr.-Ing. Dr. h. c. Theo Härder Fachbereich Informatik Technische Universität Kaiserslautern http://wwwdvs.informatik.uni-kl.de 7.
MehrIn diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.
In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht
MehrUniversität Augsburg, Institut für Informatik WS 2014/2015 Prof. Dr. W. Kießling 05. Dez F. Wenzel, L. Rudenko Lösungsblatt 7
Universität Augsburg, Institut für Informatik WS 2014/2015 Prof. Dr. W. Kießling 05. Dez. 2014 F. Wenzel, L. Rudenko Lösungsblatt 7 Aufgabe 1: JDBC 2.0 und Scrollable Result Sets Datenbanksysteme I Lösungen
Mehr10.6 Programmier-Exits für Workitems
10.6 Programmier-Exits für Workitems 279 10.6 Programmier-Exits für Workitems 10.6.1 Das Interface IF_SWF_IFS_WORKITEM_EXIT Am Schritt einer Workflow-Definition im Reiter»Programmier-Exits«können verschiedene
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in
MehrÜbung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT
Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT 1 Metadaten a) Wozu werden Metadaten im Umfeld von DBMS benötigt? b) Nennen Sie mindestens zwei weitere Anwendungsfelder, in denen Metadaten zum Einsatz kommen.
MehrDr. Monika Meiler. Inhalt
Inhalt 4 Einführung in die Programmiersprache Java (Teil II)... 4-2 4.4 Strukturierte Programmierung... 4-2 4.4.1 Strukturierung im Kleinen... 4-2 4.4.2 Addierer (do-schleife)... 4-3 4.4.3 Ein- Mal- Eins
MehrDokumentation zur Anlage eines JDBC Senders
Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise
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)
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
Mehr