Middleware Spezialist OpenLink bietet universellen Treiber für die meisten DBMS (inkl. PostgreSQL) und ODBC Datenquellen.
|
|
- Ewald Schmid
- vor 6 Jahren
- Abrufe
Transkript
1 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 Zugriff zur Datenbank Sun Microsystems bietet mit JDBC eine JDBC ODBC Brücke für Zugriff auf ODBC Datenquellen. Treiber Klasse: sun.jdbc.odbc.jdbcodbcdriver Weitere JDBC Treiber: Web Anwendung zur Treiberauswahl 401
2 Datenbankverbindung aufbauen Connection con = DriverManager.getConnection ("jdbc:postgresql://mark: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 das Subprotocol erkennt. Beispiel: JDBC ODBC Bridge erkennt jdbc:odbc:mydb;uid=me;pwd=secret 402
3 Connection Ergebnis von DriverManager.getConnection() ist eine Connection (oder eine SQLException). Verbindung zur Datenbank Connection ist teure Ressource: Aufbau der Verbindung kostet viel Zeit. Anzahl gleichzeitiger Verbindungen häufig beschränkt. Voreinstellung bei PostgreSQL: max. 32 Verbindungen Wichtigste Aufgaben: Erzeugen von Statement Objekten Beschreibungen von Datenbank und DBMS erfragen Transaktionen handhaben 403
4 Statement Statement stmt = con.createstatement(); Wird immer aus bestehender Connection erzeugt 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 kunden"); Daten ändern: int updates = stmt.executeupdate("delete FROM kunden..."); 404
5 ResultSet: Zeilendurchlauf ResultSet rs = stmt.executequery("select * FROM kunden"); Ergebnis einer Selektionsanweisung: Tabelle Wird aus Statement erzeugt. ResultSet enthält einen Datensatz Zeiger (Cursor) zum Durchlauf der Tabelle. Voreinstellung: sequentiell und lesend JDBC 2: nichtsequentielle und aktualisierbare ResultSets Zeiger steht initial vor der ersten Tabellenzeile. ResultSet.next() positioniert zur nächsten Zeile. Liefert false, falls bereits auf letzter Zeile 405
6 ResultSet: Attribute lesen Spaltenwerte (Attribute) einer Zeile mit getxxx() Methoden lesen Treiber konvertiert Daten, falls möglich Beispiel: Lesen einer ganzen Zahl in Spalte»anzahl«: int n = rs.getint("anzahl"); 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. 406
7 ResultSet: Attribute lesen Zahlreiche weitere Methoden getarray, getasciistream, getbigdecimal, getbinarystream, getblob, getboolean, getbyte, getbytes, getcharacterstream, getclob, getdate, getdouble, getfloat, getint, getlong, getobject, getref, getshort, getstring, gettime, gettimestamp 407
8 ResultSet: Attribute lesen 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. Temperaturen Datum Temperatur Unterscheidung zu echter 0 möglich durch wasnull() true, falls zuletzt mit getxxx() gelesene Zelle SQL NULL enthielt false sonst 408
9 ResultSet: Ressourcen freigeben Nach Bearbeitung ResultSet schließen void close() Gibt Ressourcen frei Ausführen einer weiteren Anweisung mit demselben Statement schließt das ResultSet implizit. 409
10 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 410
11 ResultSet: positionieren 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. 411
12 ResultSet: positionieren 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. 412
13 ResultSet: positionieren 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. 413
14 ResultSet: Datensatz ändern Methoden updatexxx() ändern Werte in aktueller Zeile. rs.absolute(5); rs.updatestring("name", "Klute"); 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 vor updaterow(). void deleterow() Löscht aktuelle Zeile aus ResultSet und Datenbank 414
15 ResultSet: Datensatz einfügen Einfügezeile: im ResultSet, nicht in der Datenbank rs.movetoinsertrow(); rs.updatestring("name", "Klute"); rs.updateint(2, 42); rs.insertrow(); rs.movetocurrentrow(); void movetoinsertrow() Positioniert auf die Einfügezeile void insertrow() Schreibt Einfügezeile in ResultSet und Datenbank void movetocurrentrow() Positioniert von der Einfügezeile auf die aktuelle Zeile im ResultSet 415
16 ResultSet: Änderungen erkennen Datenbank kann sich jederzeit ändern......durch andere Benutzer,...durch eigene parallele Anweisungen. Ziel: beim Lesen des ResultSets Änderungen erkennen Voraussetzung: Statement mit ResultSet.TYPE_SCROLL_SENSITIVE erzeugen. Mehraufwand kostet Performance. Implementationsabhängig 416
17 ResultSet: Änderungen erkennen void refreshrow() Liest aktuelle Zeile neu aus der Datenbank. boolean rowdeleted() Liefert true, falls aktuelle Zeile in der Datenbank gelöscht wurde. boolean rowinserted() Liefert true, falls aktuelle Zeile»Einfügung hatte«. boolean rowupdated() Liefert true, falls aktuelle Zeile in Datenbank geändert wurde. 417
18 PostgreSQL und JDBC 2 Mit dem PostgreSQL beigegebenen JDBC Treiber ist nicht alles möglich, was JDBC 2 für ResultSets vorsieht. TYPE_FORWARD_ONLY: Ja TYPE_SCROLL_INSENSITIVE: Ja TYPE_SCROLL_SENSITIVE: Nein CONCUR_READ_ONLY: Ja CONCUR_UPDATABLE: Nein 418
19 Daten ändern mit UPDATE SQL Anweisung UPDATE ändert bestehende Datensätze. Viele Datensätze durch einen einzigen Befehl ändern Daten ändern auch ohne modifizierbare ResultSets Beispiele: UPDATE artikel SET preis = 100; UPDATE artikel SET preis = preis * 1.05 where id = 538; UPDATE artikel SET preis = preis * 1.05 where preis < 1000; 419
20 Daten löschen mit DELETE SQL Anweisung DELETE löscht bestehende Datensätze. Viele Datensätze durch einen einzigen Befehl löschen Daten löschen ohne modifizierbare ResultSets Beispiele: DELETE FROM artikel WHERE id = 538; DELETE FROM artikel WHERE preis < 100; DELETE FROM artikel WHERE NOT id IN (artikel FROM bestellungen); Löscht alle Artikel, die nie bestellt wurden 420
21 ResultSet: Treiberhinweise void setfetchdirection(int direction) Optimierungshinweis an den JDBC Treiber: In welcher Richtung liest die Anwendung das ResultSet? FETCH_FORWARD, FETCH_REVERSE oder FETCH_UNKNOWN int getfetchdirection() void setfetchsize(int rows) JDBC Treiber muß nicht alle Zeilen sofort aus der Datenbank holen. Optimierungshinweis an den JDBC Treiber: Wieviel Zeilen am Stück holen? int getfetchsize() 421
22 ResultSet: Diverses Statement getstatement() Statement, das dieses ResultSet erzeugt hat int gettype() TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE oder TYPE_SCROLL_SENSITIVE int getconcurrency() CONCUR_READ_ONLY oder CONCUR_UPDATABLE String getcursorname() Zum Ändern oder Löschen der aktuellen Zeile UPDATE table SET n = 42 WHERE CURRENT OF cursor DELETE FROM table WHERE CURRENT OF cursor 422
23 ResultSet: Metadaten Informationen über das ResultSet public ResultSetMetaData getmetadata() Anzahl der Spalten Spaltentyp, name und titel Kann man Spalte nur lesen oder auch schreiben? Entsteht Spaltenwert durch automatische Numerierung (Sequenz)? Läßt sich Spalte in WHERE Klausel verwenden? Darf Spalte Nullwert enthalten? usw. 423
24 Statement: 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 ResultSet rs = stmt.getresultset(); Liefert false, falls Ergebnis ein Update count ist int count = stmt.getupdatecount(); 424
25 Statement: vorbereitete Anweisungen Aufbau der Anweisung fest, Parameter wechseln Beispiel PreparedStatement pstmt = con.preparestatement ("INSERT INTO temperaturen VALUES (?,?)"); pstmt.setstring(1, "{d }"); pstmt.setint(2, 2); pstmt.executeupdate(); pstmt.setstring(1, "{d }"); pstmt.setint(2, 0); pstmt.executeupdate(); pstmt.setstring(1, "{d }"); pstmt.setnull(2, Types.INTEGER); pstmt.executeupdate(); pstmt.setstring(1, "{d }"); pstmt.setint(2, 2); pstmt.executeupdate(); Läßt sich auch für Queries nutzen. 425
26 Statement: Stapelverarbeitung Mehrere SQL Anweisungen in einem Rutsch ausführen (optionale JDBC Operation) Schritt 1: Anweisungen sammeln Schritt 2: Stapel ausführen void clearbatch() Stapel löschen void addbatch(string sql) SQL Anweisung zum Stapel hinzufügen int[] executebatch() Stapel ausführen Ergebniscode pro Anweisung 426
27 DBMS Metadaten Connection Methode public DatabaseMetaData getmetadata() Methoden liefern Informationen über das DBMS, SQL Features, JDBC Treiber, Tabellen, Datenbankprozeduren u.v.a.m. Nicht jeder JDBC Treiber unterstützt jede Methode von DatabaseMetaData. Richtig: SQLException Falsch: Fehlende oder falsche Informationen 427
28 DBMS Metadaten int Methoden: beschreiben technische Einschränkungen Maximale Anzahl von Spalten je Tabelle Größte Länge einer SQL Anweisung usw. boolean Methoden: Fähigkeit verfügbar oder nicht. Beispiele: boolean supportsansi92entrylevelsql() boolean supportsansi92fullsql() Ergebnisse häufig als ResultSet Beispiel: unterstützte Datentypen mittels Servlet anzeigen 428
29 Beispiel: DBMS Metadaten anzeigen 429
30 Beispiel: DBMS Metadaten anzeigen 430
31 Beispiel: DBMS Metadaten anzeigen package de.rainer_klute.jdbc; import java.io.*; import java.sql.*; import javax.servlet.*; import javax.servlet.http.*; public class DBInfo extends HttpServlet { /** * <p>initializes the servlet by setting the * jdbc.drivers system property from the * "databasedrivers" servlet context init * parameter.</p> * * <p><strong>fixme:</strong> The method should * append only those driver class names that are not * already in the "jdbc.drivers" property.</p> */ public void init(servletconfig config) throws ServletException 431
32 Beispiel: DBMS Metadaten anzeigen { } final String driverprop = "jdbc.drivers"; super.init(config); StringBuffer newdrivers = new StringBuffer(); String olddrivers = System.getProperty(driverProp); if (olddrivers!= null) { newdrivers.append(olddrivers); newdrivers.append( : ); } String s; if ((s = config.getservletcontext(). getinitparameter ("databasedrivers"))!= null) newdrivers.append(s); System.setProperty (driverprop, newdrivers.tostring()); 432
33 Beispiel: DBMS Metadaten anzeigen public void doget(httpservletrequest req, HttpServletResponse resp) { PrintWriter out = null; try { out = resp.getwriter(); dogetlocal(req, resp, out); } catch (SQLException ex) { out.println("<pre>"); ex.printstacktrace(out); out.println("</pre>"); } catch (IOException ex) { out.println("<pre>"); ex.printstacktrace(out); out.println("</pre>"); } } 433
34 Beispiel: DBMS Metadaten anzeigen private void dogetlocal(httpservletrequest req, HttpServletResponse resp, PrintWriter p) throws SQLException { // Parameter für Connection ermitteln: ServletContext sc = getservletcontext(); String url = sc.getinitparameter("databaseurl"); String user = sc.getinitparameter("databaseuser"); String password = sc.getinitparameter("databasepassword"); // Datenbankverbindung aufbauen: Connection con = DriverManager.getConnection (url, user, password); DatabaseMetaData dbmd = con.getmetadata(); 434
35 Beispiel: DBMS Metadaten anzeigen p.println("<div>"); p.println("<p>database system: " + dbmd.getdatabaseproductname() + " " + dbmd.getdatabaseproductversion() + "</p>"); p.println("<p>jdbc driver: " + dbmd.getdrivername() + " " + dbmd.getdriverversion() + "</p>"); ResultSet rs; /* Schemas */ p.println("<p>schemas:</p>"); rs = dbmd.getschemas(); Util.printAsHTML(p, rs); /* Catalogs */ p.println("<p>catalogs:</p>"); rs = dbmd.getcatalogs(); Util.printAsHTML(p, rs); 435
36 Beispiel: DBMS Metadaten anzeigen /* TableTypes */ p.println("<p>table types:</p>"); rs = dbmd.gettabletypes(); Util.printAsHTML(p, rs); /* Tables */ p.println("<p>tables:</p>"); rs = dbmd.gettables(null, null, null, null); Util.printAsHTML(p, rs); /* Data types */ p.println("<p>data types supported by " + "this database system:</p>"); rs = dbmd.gettypeinfo(); Util.printAsHTML(p, rs); // Datenbankverbindung schließen: con.close(); } } p.println("</div>"); 436
37 Beispiel: Klasse Util package de.rainer_klute.jdbc; import java.io.*; import java.sql.*; import java.util.*; /** * <p>contains static methods for dealing with JDBC * objects.</p> * Rainer Klute <klute@rainer klute.de> */ public class Util { 437
38 Beispiel: Klasse Util /** * <p>prints the contents of a {@link ResultSet} to * a {@link PrintWriter} as an HTML table with cell * borders.</p> * p The HTML table is rendered to this * {@link PrintWriter} re The {@link ResultSet} to print * #printashtml(printwriter, ResultSet, Map) */ public static void printashtml(printwriter p, ResultSet rs) throws SQLException { Map m = new HashMap(1); m.put("border", "1"); printashtml(p, rs, m); } 438
39 Beispiel: Klasse Util /** * <p>prints the contents of a {@link ResultSet} to * a {@link PrintWriter} as an HTML table.</p> * p The HTML table is rendered to this * {@link PrintWriter} re The {@link ResultSet} to print tableattr Attributes to use for the * HTML table * #printashtml(printwriter, ResultSet) */ public static void printashtml(printwriter p, ResultSet rs, Map tableattr) throws SQLException { p.print("<table"); /* Print table attributes */ for (Iterator i = tableattr.keyset().iterator(); i.hasnext();) 439
40 Beispiel: Klasse Util { String attr = (String) i.next(); p.print( ); p.print(attr); p.print("=\""); p.print((string) tableattr.get(attr)); p.print( \" ); } p.println(">"); /* Get number of columns */ ResultSetMetaData rsmd = rs.getmetadata(); int columns = rsmd.getcolumncount(); /* Get column names from metadata and print them * to the first table row. */ p.print("<tr>"); for (int i = 1; i <= columns; i++) p.print("<th><p>" + rsmd.getcolumnname(i) + "</p></th>"); p.println("</tr>"); 440
41 Beispiel: Klasse Util } /* Print result set lines. */ while (rs.next()) { p.print("<tr>"); for (int i = 1; i <= columns; i++) { /* Print cell contents. */ String s; Object o; if ((o = rs.getobject(i))!= null) s = o.tostring(); else s = " "; p.print("<td><p>" + s + "</p></td>"); } p.println("</tr>"); } p.println("</table>"); } 441
42 Transaktionen Zusammengehörende Datenbankoperationen Entweder alle ausführen oder keine Beispiel: Überweisung int amount = 100; /* Transaktion einleiten. */ con.setautocommit(false); fromaccount(con, 1, amount); if (Math.random() > 0.5) throw new RuntimeException("Crash"); toaccount(con, 2, amount); /* Transaktion abschließen: Ergebnisse endgültig * in Datenbank schreiben. */ con.commit(); con.setautocommit(true); 442
43 Transaktionen /* * <p>lastschrift</p> */ private static void fromaccount (Connection c, int account, int amount) throws SQLException { /* Alten Kontostand holen. */ PreparedStatement s; s = c.preparestatement ("SELECT saldo FROM konten WHERE konto =?"); s.setint(1, account); ResultSet rs = s.executequery(); rs.next(); int balance = rs.getint(1); /* Neuen Kontostand berechnen. */ balance = amount; 443
44 Transaktionen } /* Neuen Kontostand in Datenbank speichern. */ s = c.preparestatement ("UPDATE konten SET saldo =? " + "WHERE konto =?"); s.setint(1, balance); s.setint(2, account); s.executeupdate(); s.close(); /* * <p>gutschrift</p> */ private static void toaccount (Connection c, int account, int amount) throws SQLException { fromaccount(c, account, amount); } 444
45 Transaktionen void setautocommit(boolean autocommit) true: Jede SQL Anweisung ist separate Transaktion. false: SQL Anweisungen sind zu Transaktionen gruppiert. boolean getautocommit() Zustand erfragen void commit() Transaktion abschließen: Änderungen endgültig in Datenbank schreiben void rollback() Transaktion zurücksetzen: Änderungen verwerfen 445
46 Transaktionen voreinander schützen void settransactionisolation(int level) Legt fest, wie stark Transaktionen voneinander abgeschottet sind. Sind Änderungen während einer Transaktion T1 bereits in einer Transaktion T2 sichtbar? Daumenregel: geringe Abschottung = hoher Durchsatz int gettransactionisolation() Aktuellen Wert abfragen 446
47 Transaktionen voreinander schützen Schmutzlesen (»dirty read«): T1 schreibt Satz, T2 liest Satz, T1 bricht ab Satz ist»dirty«. Einmallesen (»non repeatable read«) T1 liest Satz, T2 ändert Satz, T1 liest Satz noch einmal Satz ist bei jedem Lesen anders. Phantomlesen (»phantom read«) T1 selektiert Relation mit Selektionsbedingung B, T2 fügt Satz ein, der B erfüllt, T1 selektiert Relation mit B noch einmal Relation enthält zusätzlichen»phantomsatz«. 447
48 Transaktionen voreinander schützen TRANSACTION_READ_UNCOMMITTED Erlaubt Schmutzlesen, Einmallesen und Phantomlesen TRANSACTION_READ_COMMITTED Verhindert Schmutzlesen Erlaubt Einmallesen und Phantomlesen TRANSACTION_REPEATABLE_READ Verhindert Schmutzlesen und Einmallesen Erlaubt Phantomlesen TRANSACTION_SERIALIZABLE Verhindert Schmutzlesen, Einmallesen und Phantomlesen 448
49 Parallele SQL Anweisungen Datenbankoperationen benötigen viel Zeit In separatem Thread ausführen und in der Wartezeit datenbankunabhängige Aktivitäten erledigen Benutzeroberfläche aktualisieren usw.... weitere Datenbankoperation parallel ausführen C C C C C S S S S S S RS RS RS RS RS RS RS 449
50 Parallele Anweisungen: Varianten Paralleles ResultSet erzeugen Statement für weitere SQL Anweisung nutzen Nicht möglich, da Statement.execute() das geöffnete ResultSet schließt Paralleles Statement erzeugen Connection für weiteres Statement nutzen JDBC Treiber synchronisiert, falls nötig Güte der Synchronisierung abhängig von DBMS und Treiber Parallele Connection erzeugen
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
Mehr11. 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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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-
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
MehrDatenbankanwendungen (JDBC)
Datenbankanwendungen (JDBC) Hierarchie: Connection Transaction Statement Connection Aufbau (klassisch): Registrierung des JDBC Driver beim DriverManager: Class.forName(JDBC Driver); Eigentlicher Verbindungsaufbau
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
MehrModifikation der Datenbank
Modifikation der Datenbank Löschen Einfügen Änderungen Änderungen von Sichten 71 Löschen Wir haben bereits gesehen, dass wir den gesamten Inhalt einer Tabelle r löschen können durch das Kommando: delete
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)
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
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 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
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
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
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
MehrTransaktionen in der Praxis. Dr. Karsten Tolle
Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);
MehrEinführung in die Informatik II
Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen
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
MehrPROGRAMMIERPROJEKT 2016 VERWENDETE TECHNOLOGIEN
PROGRAMMIERPROJEKT 2016 VERWENDETE TECHNOLOGIEN Mathias Weber und Annette Bieniusa ÜBERBLICK Spark SQL SQL in Java SPARK WAS IST DAS? Framework zur Erstellung von Web-Anwendungen in Java Einfach zu verwenden
MehrTag 4 Inhaltsverzeichnis
Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik
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 //
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
MehrPersistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)
Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)
Mehr11 Anwendungsprogrammierung
11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:
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
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,
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
Mehr5.8 Bibliotheken für PostgreSQL
5.8 Bibliotheken für PostgreSQL Haskell/WASH: Modul Dbconnect PHP: pqsql-funktionen Java/JSP: JDBC Perl: DBI database interface modul Vorläufige Version 80 c 2004 Peter Thiemann, Matthias Neubauer 5.9
MehrMySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.
MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt
MehrPraktikum Datenbanken und verteilte Systeme SS Java Server Pages und Servlets -
Praktikum Datenbanken und verteilte Systeme SS 2008 - Java Server Pages und Servlets - Verteilte Systeme und Informationssysteme (VSIS) Department Informatik Universität Hamburg Infrastruktur vsispoolx
MehrTag 4 Inhaltsverzeichnis
Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik
Mehri n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging
Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des
MehrIsolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012
Isolationsstufen für Transaktionen / Sicherheit Dr. Karsten Tolle Dienstag 31. Januar 2012 Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch
MehrAbfragen (Queries, Subqueries)
Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl
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
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
MehrJDBC Datenzugriff aus Java ETIS SS04
JDBC Datenzugriff aus Java ETIS SS04 Gliederung Motivation Bestandteile Fehlerbehandlung Metadaten Zusammenfassung JDBC 2 Motivation(I) Standard für Zugriff auf Datenquellen aus Java- Anwendungen RDBs,
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
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......................
MehrPraktikum Datenbanksysteme. Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003
Praktikum Datenbanksysteme Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003 Nullwerte und Primitive Typen Wenn parent==null, was wird in der Datenbank gespeichert? Wenn man aus der DB liest, wie kann
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
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-
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
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrDatenbank Anbindung. Arthur Zaczek. Nov 2014
Arthur Zaczek Nov 2014 1 Datenbank Anbindung 1.1 Übersicht Datenbankanbindung mit JDBC und ADO.NET. 1.2.NET ADO.NET Kein Treiberkonzept. Jede Datenbank hat eigenes Set an Klassen. Meistens wird für nur
Mehr6. Übung - Datenbankprogrammierung
6. Übung - Datenbankprogrammierung Java Database Connectivity (JDBC) und Open Database Connectivity (ODBC) Ziel der Übung. Kommunikation von C- und Java-Anwendungen mit DB2. Aufgaben Teil 1: JDBC Verwenden
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?
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
MehrMengenvergleiche: Alle Konten außer das, mit dem größten Saldo.
Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten
MehrBetreutes 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
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
MehrDatenbanksysteme 2009
Datenbanksysteme 2009 Vorlesung vom 15.06.09 noch Kapitel 9: Datenbankapplikationen Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen MS Visio MS Access Embedded SQL
MehrDatenbanksysteme 2015
Datenbanksysteme 2015 noch Kapitel 09: Datenbankapplikationen Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen MS Visio MS Access Embedded SQL im C-Programm JDBC /
Mehr<< XML & Relationale DB >>
XML & DB > 1 XML & DB - RDBMS Das Problem: XML RDBMS 2 XML Daten sind als Bäume strukturiert. RDBMS sind tabellenorientiert. RDBMS können nur sehr aufwendig Bäume speichern. Einsatz
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
Mehr6. 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
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
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
MehrJAVA KURS COLLECTION
JAVA KURS COLLECTION COLLECTIONS Christa Schneider 2 COLLECTION Enthält als Basis-Interface grundlegende Methoden zur Arbeit mit Collections Methode int size() boolean isempty() boolean contains (Object)
MehrMySQL Queries on "Nmap Results"
MySQL Queries on "Nmap Results" SQL Abfragen auf Nmap Ergebnisse Ivan Bütler 31. August 2009 Wer den Portscanner "NMAP" häufig benutzt weiss, dass die Auswertung von grossen Scans mit vielen C- oder sogar
MehrJava-Datenbankzugriff mit JDBC
Java-Datenbankzugriff mit JDBC Vorlesungsmaterial zu JDBC von Prof. Dr. Stefan Böttcher Inhaltsverzeichnis: 1. Praktische Hinweise zum Arbeiten mit JDBC, ODBC und dem Datenbanksystem 2. Übungsaufgaben
MehrFilterprogrammierung: Beispiel
Filterprogrammierung: Beispiel package de.rainer_klute.servlet; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; /** * this demo filter replaces a configurable hostname in a *
MehrUnterabfragen (Subqueries)
Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und
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
MehrJSP, 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
Mehr3. Persistenz und Datenbanken Content Providers. Content Providers. Generische Schnittstelle zum Zugriff auf Daten zwischen Anwendungen
Content Providers Generische Schnittstelle zum Zugriff auf Daten zwischen Anwendungen Entkopplung der Daten-Schicht von der Anwendungsschicht Zugriff erfolgt URI-basiert Kontrolle der Zugriffsrechte eingebaute
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 SQL UND SQLITE VON MELANIE SCHLIEBENER
DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.
Mehr6.9 Java Server Pages
DocumentCollection dc = db.ftsearch(abfrage); Document d = dc.getfirstdocument(); while (d!= 0) { String Name = db.gettitle(); out.println(name + ""); d = dc.getnextdocument(); catch (NotesException
MehrInternetanbindung von Datenbanken
Internetanbindung von Datenbanken SQLJ Servlets http://galahad.informatik.fh-kl.de/frankfurter SQLJ-1 Gliederung Einführung in Servlets Entwicklungswerkzeuge Servlets HTML-Beispiel Servlet Beispiel Servlet
MehrDatenbanksysteme I. Aufgabe 1: Views und Temporäre Relationen. Lösungsvorschlag:
Universität Augsburg, Institut für Informatik Wintersemester 2010/2011 Prof. Dr. W. Kießling 10. Dez. 2010 Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 6 Aufgabe 1: Views und Temporäre Relationen Datenbanksysteme
MehrWhitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt
MehrDatenbankzugriff mit JDBC
Datenbankzugriff mit JDBC Praktikum aus Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Datenbankzugriff mit JDBC HSQLDB Installation und Anwendung JDBC Grundlagen, DriverManager, Connection, Java
MehrPerformance Tuning mit @enterprise
@enterprise Kunden-Forum 2005 Performance Tuning mit @enterprise Herbert Groiss Groiss Informatics GmbH, 2005 Inhalt Datenbank RMI JAVA API HTTP Konfiguration Analyse Groiss Informatics GmbH, 2005 2 Datenbank
Mehr3. Datenbankzugriff (JDBC) Grundlagen der Programmierung II (Java)
3. Datenbankzugriff (JDBC) Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung
MehrJDBC (Java Database Connectivity)
JDBC (Java Database Connectivity) WPF Internetanbindung von Datenbanken Prof. Dr. Schiefer WS 1999/2000 Ebert Adam Sven Macke Tobias Semmet JDBC - 1 Inhalt Einführung in JDBC und JDBC-API Adam Ebert Einführung
MehrDatenbankzugriff mit JDBC
Programmieren / Java Datenbankzugriff mit JDBC Frage Nr. 13 Datenbankzugriff mit JDBC Ausarbeitung einer Maturafrage aus dem Fach P r o g r a m m i e r e n / J a v a Andreas Hechenblaickner 5CDH HTBLA
MehrDatenbank und Informationssysteme
Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen 3 1.1 Architektur des SQL/CLI am Beispiel JDBC................... 5 1.2 SQl-Anweisungen und Ergebnismengen.......................
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
MehrSQL und Java. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 5 SQL und Java Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester 2007/08
MehrProgrammieren 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
MehrDatenbanken SQL. Insert, Update, Delete, Drop. Krebs
Datenbanken SQL Insert, Update, Delete, Drop Krebs Inhalt 1. Datensätze einfügen: INSERT 2. Datensätze verändern: UPDATE 3. Datensätze löschen: DROP vs. DELETE Beispiel Datenbank Schule Klasse P_Klasse
Mehr1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL
1 Transaktionen in SQL Um Daten in einer SQL-Datenbank konsistent zu halten, gibt es einerseits die Möglichkeit der Normalisierung, andererseits sog. Transaktionen. 2 Was ist eine Transaktion Eine Transaktion
Mehr