11. JDBC. Grundsätzliche Nutzung von JDBC Verbindungsaufbau Anfragen Analyse des erhaltenen Ergebnisses Veränderungen des Ergebnisses

Größe: px
Ab Seite anzeigen:

Download "11. JDBC. Grundsätzliche Nutzung von JDBC Verbindungsaufbau Anfragen Analyse des erhaltenen Ergebnisses Veränderungen des Ergebnisses"

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 270

2 Überblick: Datenbankanfragen mit JDBC Datenbankverbindung herstellen class DriverManager Connection con= DriverManager.getConnection(...); Statement stmt= con.createstatement(); Datenbankanfrage ResultSet rs = stmt.executequery(...); Ergebnisse verarbeiten Verbindung zur DB schließen rs.next(); int n = rs.getint("knr"); con.close(); 271

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 272

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:" + "@oracle-srv.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"); 273

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 274

6 Verbindungsanalyse durch Metadaten (Ausschnitt) DatabaseMetaData dbmd = con.getmetadata(); System.out.println("DB-Name: " + dbmd.getdatabaseproductname() + "\ndb-version: " + dbmd.getdatabasemajorversion() + "\ndb-release: " + dbmd.getdriverminorversion() + "\ntransaktionen erlaubt: " + dbmd.supportstransactions() + "\nbeachtet GroßKlein :" + dbmd.storesmixedcaseidentifiers() + "\nunterstützt UNION :" + dbmd.supportsunion() + "\nmax. Prozedurname: " + dbmd.getmaxprocedurenamelength()); DB-Name: Oracle DB-Version: 11 DB-Release: 2 Transaktionen erlaubt: true beachtet GroßKlein :false unterstützt UNION :true max. Prozedurname:

7 Statement / Anfrage ausführen 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..."); 276

8 Metadaten des Anfrageergebnisses ResultSet rs = stmt.executequery("select * FROM Continent"); ResultSetMetaData rsmd = rs.getmetadata(); int spalten = rsmd.getcolumncount(); for (int i = 1; i <= spalten; i++) { // nicht i=0 } System.out.println(i + ". Name: " + rsmd.getcolumnname(i) + " Typ: " + rsmd.getcolumntypename(i) + " Javatyp: " + rsmd.getcolumnclassname(i)); 1. Name: NAME Typ: VARCHAR2 Javatyp: java.lang.string 2. Name: AREA Typ: NUMBER Javatyp: java.math.bigdecimal 277

9 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 ab 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 278

10 Attributwerte auslesen (1/2) Spaltenwerte (Attribute) einer Zeile mit getxxx()-methoden lesen Treiber konvertiert Daten, falls möglich, deshalb (fast) immer getstring() nutzbar 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 279

11 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 280

12 Beispiel: Ausgabe eines Anfrageergebnisses ResultSet rs = stmt.executequery("select * FROM Continent"); ResultSetMetaData rsmd = rs.getmetadata(); int spalten = rsmd.getcolumncount(); while (rs.next()) { } for (int i = 1; i <= spalten; i++) { } System.out.print(rs.getString(i) + " "); System.out.print("\n"); Europe Asia Australia/Oceania Africa America

13 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 282

14 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 283

15 ResultSet: positionieren (2/3) boolean absolute(int pos) Positioniert ausgehend vom Anfang (pos positiv) oder vom 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 284

16 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 285

17 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] 286

18 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 287

19 Daten ändern ResultSet executequery(string) führt SELECT- Anweisung aus int executeupdate(string) führt INSERT-, UPDATEoder 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 288

20 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 >?"); 289

21 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(); 290

22 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 291

23 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:@oracle-srv.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) {... } 292

24 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(); } } 293

25 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 in sqldeveloper\jdbc\lib 294

26 Einbindung von Oracle-JDBC in NetBeans Rechtsklick im Projekt auf Libraries -> Add JAR/Folder manövrieren zum Verzeichnis mit JDBC-Treiber (sinnvoll Unterordner lib des Projekts) markieren und Öffnen 295

27 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; 296

28 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); 297

29 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; } 298

30 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! */ 299

31 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:@oracle-srv.edvsz.hs-osna" + "brueck.de:1521:ora11", nutzer, passwort); //Vorbereitung der PL/SQL-Nutzung ResultSet rset = null; CallableStatement cstmt = conn. preparecall("{call staedtein(?,?)}"); cstmt.registeroutparameter(2, OracleTypes.CURSOR); 300

32 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 } 301

33 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 302

Ziel: Verständnis für Konzepte von JDBC aufbauen

Ziel: Verständnis für Konzepte von JDBC aufbauen 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 Überblick: Datenbankanfragen

Mehr

11. JDBC. Ziel: Verständnis für Konzepte von JDBC aufbauen. Prof. Dr. Stephan Kleuker. Datenbanken

11. 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

Mehr

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1

Java 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

Mehr

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql

seit 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

Mehr

Grundlagen 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 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher

Mehr

Datenbanksysteme. 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 Programmieren von Datenbankzugriffen mit JDBC Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Überblick über das Package java.sql Übersicht Architektur von JDBC Grundstruktur eines

Mehr

Client/Server-Programmierung

Client/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

Mehr

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

JDBC. 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

Mehr

Beispiel: DB-Mock (1/7)

Beispiel: 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

Mehr

9. Effiziente Datenverwaltung

9. 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

Mehr

Datenbankentwurf & Datenbankzugriff mit JDBC. Georg Köster Sven Wagner-Boysen

Datenbankentwurf & 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

Mehr

Programmieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008

Programmieren 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)

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale 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.

Mehr

Datenbanksysteme. 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 Datenbanksysteme Programmieren von Datenbankzugriffen mit JDBC Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2018 Übersicht Architektur von JDBC Ziele von JDBC Grundstruktur

Mehr

Oracle: Abstrakte Datentypen:

Oracle: 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

Mehr

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Kapitel 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

Mehr

Middleware Spezialist OpenLink bietet universellen Treiber für die meisten DBMS (inkl. PostgreSQL) und ODBC Datenquellen.

Middleware 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

Mehr

Kurzü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 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-

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches 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

Mehr

Universitä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 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.*;

Mehr

Client/Server-Programmierung

Client/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

Mehr

Datenbank und Informationssysteme

Datenbank 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......................

Mehr

JDBC. Java DataBase Connectivity

JDBC. 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

Mehr

Java und Datenbanken

Java und Datenbanken Java und Datenbanken Benutzerschnittstelle DB-Client Client Benutzerschnittstelle CORBA, HTTP,... DB-Client Anwendungslogik DB-Schnittstelle JDBC, SQLJ Anwendungslogik DB-Schnittstelle Anwendungs- Server

Mehr

Einfü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 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

Mehr

Java Database Connectivity-API (JDBC)

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

Mehr

Einführung in die Programmierung

Einfü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

Mehr

Datenbanksysteme 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 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

Mehr

UNIVERSITÄ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 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 //

Mehr

Datenbanken & Informationssysteme Übungen Teil 1

Datenbanken & 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

Mehr

JDBC. Allgemeines ODBC. java.sql. Beispiele

JDBC. 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

Mehr

11 Anwendungsprogrammierung

11 Anwendungsprogrammierung 11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:

Mehr

Java: MySQL-Anbindung mit JDBC.

Java: 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)

Mehr

Datenbanken SQL JDBC. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 21

Datenbanken 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:

Mehr

SQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter

SQLJ. 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

Mehr

Udo Matthias Munz. Datenbanken und SQL. mit. Einführung. Informationstechnik

Udo 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

Mehr

Tag 5 Inhaltsverzeichnis

Tag 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

Mehr

Klausur zur Vorlesung Datenbanksysteme I

Klausur 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

Mehr

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

Dipl. 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

Mehr

JDBC. 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. 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

Mehr

Vorlesung Informatik II

Vorlesung 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

Mehr

Datenbankanwendungen (JDBC)

Datenbankanwendungen (JDBC) Datenbankanwendungen (JDBC) Hierarchie: Connection Transaction Statement Connection Aufbau (klassisch): Registrierung des JDBC Driver beim DriverManager: Class.forName(JDBC Driver); Eigentlicher Verbindungsaufbau

Mehr

Ho Ngoc Duc IFIS - Universität zu Lübeck

Ho 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)

Mehr

Programmierkurs Java

Programmierkurs 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

Mehr

Universität Stuttgart Abteilung Anwendersoftware 01.07.2002. - Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures

Universitä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: -

Mehr

Wie kommen die Befehle zum DBMS

Wie 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?

Mehr

Java Database Connectivity API / JDBC

Java 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

Mehr

Java und Datenbanksysteme Datenbankanbindung mit JDBC

Java 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

Mehr

DB-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. 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

Mehr

Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems

Geschä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,

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das 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

Mehr

Oracle & Java HOW TO

Oracle & 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

Mehr

Datenbankschnittstellen erlauben Zugriff auf Datenbank aus einer externen Anwendung

Datenbankschnittstellen 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

Mehr

Hauptschritte einer JDBC-App

Hauptschritte 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,

Mehr

Übung: Data Warehousing und Data Mining

Ü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

Mehr

Gesicherte Prozeduren

Gesicherte 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.

Mehr

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Einfache 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"

Mehr

Tag 5 Inhaltsverzeichnis

Tag 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

Mehr

Folgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133.

Folgendes 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

Datenmanagement in Android-Apps. 16. Mai 2013

Datenmanagement 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

Mehr

3. Stored Procedures und PL/SQL

3. 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

Mehr

Vorlesung Datenbanksysteme vom JDBC. Einführung JDBC-Verbindungen Schreibzugriff mit SQL SELECT Anweisungen prepared/callable Statements

Vorlesung Datenbanksysteme vom JDBC. Einführung JDBC-Verbindungen Schreibzugriff mit SQL SELECT Anweisungen prepared/callable Statements Vorlesung Datenbanksysteme vom 17.10.2007 JDBC Einführung JDBC-Verbindungen Schreibzugriff mit SQL SELECT Anweisungen prepared/callable Statements Einführung DB-Anbindung an Programmiersprachen Embedded

Mehr

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Ü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

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

Grundlagen 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.:

Mehr

Vorlesung Datenbanksysteme vom JDBC. Einführung JDBC-Verbindungen Schreibzugriff mit SQL SELECT Anweisungen prepared/callable Statements

Vorlesung Datenbanksysteme vom JDBC. Einführung JDBC-Verbindungen Schreibzugriff mit SQL SELECT Anweisungen prepared/callable Statements Vorlesung Datenbanksysteme vom 15.10.2008 JDBC Einführung JDBC-Verbindungen Schreibzugriff mit SQL SELECT Anweisungen prepared/callable Statements Einführung DB-Anbindung an Programmiersprachen Embedded

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: 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

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung 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

Mehr

BTree.dll - Balancierte und verkettete Bäume. Ecofor. BTree.dll. Realisiert mit Microsoft Visual Studio 16.04.2015 1/9

BTree.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...

Mehr

6. Java Database Connectivity. Prof. Dr.-Ing. Wolfgang Lehner

6. Java Database Connectivity. Prof. Dr.-Ing. Wolfgang Lehner 6. Java Database Connectivity Prof. Dr.-Ing. Wolfgang Lehner > Roadmap intern intern/extern extern SQL UDF SQL SP XQUERY Trigger ext. UDF ext. SP SQLJ Embedded SQL JDBC ODBC OLE.NET Kommunikationslast

Mehr

Große Übung Praktische Informatik 1

Groß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,

Mehr

Objektorientierte Programmierung

Objektorientierte 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

Mehr

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Informationen aus der Datenbank lesen Klasse SQLiteDatabase enthält die Methode query(..) 1. Parameter: Tabellenname

Mehr

Dr. Monika Meiler. Inhalt

Dr. 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

Mehr

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Java 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

Mehr

JSP, Tomcat, JDBC. Agenda. Übung Informationsintegration 3.5.2004. JSP & Tomcat JDBC. l Syntax. l Implizite Objekte. l Direktiven

JSP, Tomcat, JDBC. Agenda. Übung Informationsintegration 3.5.2004. JSP & Tomcat JDBC. l Syntax. l Implizite Objekte. l Direktiven JSP, Tomcat, JDBC Übung Informationsintegration 03.05.2004 Agenda JSP & Tomcat Syntax Impizite Objekte Direktiven JDBC 2 Java Server Pages - JSP Was ist eine JSP? Bietet die Mögichkeit, dynamischen Inhat

Mehr

MIN oder MAX Bildung per B*Tree Index Hint

MIN oder MAX Bildung per B*Tree Index Hint E-Mail: rainer@lambertz-c.de Internet: http://www.lambertz-c.de MIN oder MAX Bildung per B*Tree Index Hint Zugegeben, der Trick Min- oder Maximalwerte per Index Hint zu ermitteln ist nicht neu. Gewöhnlich

Mehr

Webbasierte Informationssysteme

Webbasierte 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)

Mehr

5. Tutorium zu Programmieren

5. 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

Mehr

vs. Fehler zur Übersetzungszeit

vs. Fehler zur Übersetzungszeit Client-Server-Architektur, Anbindung von Programmiersprachen, Call-Level-Schnittstellen: /, JDBC, :, J, gespeicherte Prozeduren, prozedurale Erweiterungen: /PSM, PL/. IPD, Forschungsbereich Systeme der

Mehr

10.6 Programmier-Exits für Workitems

10.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

Mehr

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT

Ü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.

Mehr

php 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... 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.

Mehr

Hilfe meine Oracle Datenbank spricht nicht mit meiner JSP

Hilfe meine Oracle Datenbank spricht nicht mit meiner JSP Hilfe meine Oracle Datenbank spricht nicht mit meiner JSP Diese Dokumentation, soll die grundlegenden Schritte vermitteln wie man mithilfe einer JSP Seite auf eine Oracle Datenbank zugreift und Daten abfragt

Mehr

JDBC- JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network. M. Löberbauer, T. Kotzmann, H. Prähofer

JDBC- 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

Mehr

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015

E-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

Mehr

Datenbankzugriff mit JDBC

Datenbankzugriff 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

Mehr

WPF Steuerelemente Listbox, ComboBox, ListView,

WPF 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,

Mehr

Programmiervorkurs WS 2012/2013. Schleifen und Methoden

Programmiervorkurs WS 2012/2013. Schleifen und Methoden Programmiervorkurs WS 2012/2013 Schleifen und Methoden Ein Befehl soll mehrfach ausgeführt werden, z.b.: public class MyCounter { System.out.println(1); Ein Befehl soll mehrfach ausgeführt werden, z.b.:

Mehr

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung SS 2011 Fakultät für Angewandte Informatik Lehrprofessur für Informatik 15.06.2011 Prof. Dr. Robert Lorenz Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung Programmieraufwand für geübte

Mehr

Dokumentation zur Anlage eines JDBC Senders

Dokumentation 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

Mehr

cs241: Datenbanken mit Übungen HS 2011

cs241: Datenbanken mit Übungen HS 2011 UNIVERSITÄT BASEL Prof. Dr. Heiko Schuldt MSc. Nenad Stojnić BSc. Ivan Giangreco BSc. Florian Lindörfer cs241: Datenbanken mit Übungen HS 2011 Übung 5 Abgabe bis: 4.11.2011 Hinweise: Modalitäten der Abgabe:

Mehr

Javakurs zu Informatik I. Henning Heitkötter

Javakurs zu Informatik I. Henning Heitkötter Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,

Mehr

MaxDB Einführung in die Installation und Nutzung von MaxDB (Version 7.5.0.5)

MaxDB Einführung in die Installation und Nutzung von MaxDB (Version 7.5.0.5) MaxDB Einführung in die Installation und Nutzung von MaxDB (Version 7.5.0.5) Hinweise: Diese Installation bezieht sich auf die Version 7.5.0.5, bei Nachfolgern kann sich einiges ändern Herunter geladen

Mehr