Entwicklung von Web-Anwendungen mit JAVA EE

Größe: px
Ab Seite anzeigen:

Download "Entwicklung von Web-Anwendungen mit JAVA EE"

Transkript

1 Entwicklung von Web-Anwendungen mit JAVA EE Grundlagen: Datenbankprogrammierung

2 Literatur T. Kudraß (Hrsg.): Taschenbuch Datenbanken, Hanser, 2007 DB-Programmierung-2

3 Einbettungstechniken Einbettung in 3GL Embedded SQL Aufrufschnittstelle Call-Level-Interface (CLI) prozedurale Schnittstelle Sprachen der 4. Generation DB-Programmierung-3

4 Einbettungsarten statische Einbettung Die DB-Anweisung steht bei der Programmentwicklung fest. dynamische Einbettung Die DB-Anweisung wird zur Laufzeit erst festgelegt. Beispiel: Anfragewerkzeuge, Browser DB-Programmierung-4

5 Probleme der Einbettung Programmiersprachen kennen keinen Typ "Relation"! Keine mengenorientierten Operationen - Die Verarbeitung von Daten erfolgt satzorientiert! Cursor / Iterator erforderlich Impedance mismatch Programmiersprachen kennen keine NULL-Werte. DB-Programmierung-5

6 Das Cursor-Konzept Eine Relation wird in der Programmiersprache als Liste behandelt. Ein Cursor ist ein Iterator über eine Liste von Tupeln. Zeiger auf ein Element einer Liste. Cursor können gelesen und weiter gesetzt werden (FETCH NEXT). Implementierungsabhängig gibt es noch weitere Positionierungsoperationen. DB-Programmierung-6

7 Veranschaulichung: Cursor-Konzept Satzweise Verarbeitung C-Anwendungsprogramm Datenbank Cursor Relation DB-Programmierung-7

8 Standard SQL - Cursor Deklaration Syntax: <cursor_decl> := DECLARE <cursor_name> [ INSENSITIVE ] [ SCROLL ] CURSOR FOR <cursor_spec> <cursor_spec> := <table_expr> [ ORDER BY { <column_name>//, } ] [ FOR { READ ONLY UPDATE [ OF { <column_name>//, } ] } ] Beispiel: DECLARE c1 CURSOR FOR SELECT Name FROM Angestellte WHERE AbtNr = 'Einkauf' DB-Programmierung-8

9 Cursor - Zusatz: INSENSITIVE INSENSITIVE Es wird auf einer Kopie der ausgewählten Daten gearbeitet. Änderungen auf den einmal ausgewählten Daten sind für den Cursor unsichtbar. Ohne INSENSITIVE ist es abhängig von der jew. Implementierung, ob Änderungen sichtbar sind, oder nicht. DB-Programmierung-9

10 Cursor - Zusatz: SCROLL Normalerweise kann nur einmal sequentiell durch die Ergebnismenge gegangen werden. FETCH NEXT SCROLL Erlaubt beliebiges vor- und zurückbewegen: FETCH NEXT FETCH PRIOR FETCH FIRST FETCH LAST FETCH ABSOLUTE n FETCH RELATIVE n DB-Programmierung-10

11 Cursor - Zusatz: FOR UPDATE Dieser Zusatz ermöglicht das Verändern von Daten beim Iterieren (Positioned Update). Beispiel: DECLARE c1 CURSOR FOR SELECT Name FROM Angestellte WHERE AbtNr = 'Einkauf' FOR UPDATE UPDATE Angestellte SET gehalt = gehalt + 50 WHERE CURRENT OF c1 UPDATE Angestellte SET gehalt = gehalt + 50 WHERE persnr = 4711 DELETE Angestellte WHERE CURRENT OF c1 DB-Programmierung-11

12 Einbettung in 3 GL (Embedded SQL) Erfordert Vorübersetzer (Precompiler): Programme mit eingebetteten DB-Kommandos werden in übersetzungsfähige Programme transferiert. Die erforderlichen Precompiler werden von den Datenbankherstellern geliefert. Ein Programm enthält also Anweisungen aus zwei verschiedenen Programmiersprachen. Die Einbettung in einige wichtige Sprachen (C, Fortran, Cobol) wurde mit SQL92 genormt. DB-Programmierung-12

13 Einbettung in 3 GL - Technik Kennzeichnung der DB-Befehle durch das Schlüsselwort: EXEC SQL. Zusätzlich zu den ausführbaren Kommandos kommen deklarative. Spezielle Kommandos: DECLARE, OPEN, FETCH. SQL Statements können sich auf Variablen der Programmiersprache beziehen: host variables Diese werden in der Anfrage durch einen Doppelpunkt gekennzeichnet. DB-Programmierung-13

14 Einbettung in 3 GL - Übergabe Deklaration von Host-Variablen: EXEC SQL BEGIN DECLARE SECTION; name CHAR(10); abtnr CHAR(10); EXEC SQL END DECLARE SECTION; Binden von Host-Variablen Welche Hostvariablen zur Ein-/Ausgabe von Daten verwendet werden, muss mitgeteilt werden: OPEN: Eingabevariablen FETCH: Ausgabevariablen DB-Programmierung-14

15 Einbettung in 3 GL - Cursorzugriff Deklaration eines Cursors: EXEC SQL DECLARE cu1 CURSOR FOR SELECT Name FROM Angestellte WHERE AbtNr =?; Öffnen des Cursors: EXEC SQL OPEN cu1 USING :abtnr; Auslesen der Daten: EXEC SQL FETCH cu1 INTO :name; Schließen des Cursors: EXEC SQL CLOSE cu1; DB-Programmierung-15

16 Dynamische Einbettung in 3 GL Deklaration einer Variablen für die Anfrage: EXEC SQL BEGIN DECLARE SECTION; anfrage_text CHAR(256) varying; pers_nr CHAR(10); EXEC SQL END DECLARE SECTION; Festlegung der Anfrage anfrage_text = "DELETE FROM Angestellte WHERE PersNr =?"; Bekanntmachen der Anfrage EXEC SQL PREPARE anfrage FROM :anfrage_text ; Ausführen der Anfrage EXEC SQL EXECUTE anfrage USING :pers_nr ; DB-Programmierung-16

17 Einbettung in 3 GL - Schleifensteuerung Reaktion auf spezielle Situationen: EXEC SQL WHENEVER <Bedingung> <Aktion> <Bedingung> := { NOT FOUND SQLWARNING SQLERROR } <Aktion> := { CONTINUE GOTO <label> STOP DO <routine> } DB-Programmierung-17

18 Einbettung in 3 GL - Beispiel Embedded SQL EXEC SQL BEGIN DECLARE SECTION; name CHAR(50); abtnr INT; EXEC SQL END DECLARE SECTION; EXEC SQL DECLARE cu1 CURSOR FOR SELECT Name FROM Angestellte WHERE abtnr =?; EXEC SQL OPEN cu1 USING :abtnr; for (;;) { EXEC SQL FETCH cu1 INTO :name; EXEC SQL WHENEVER NOT FOUND GOTO FERTIG; printf ("Name des Angestellten: %s", name); } FERTIG: printf ("Alle ausgegeben! \n"); EXEC SQL CLOSE cu1; DB-Programmierung-18

19 Verarbeitung von Embedded SQL C-Quellcode mit Embedded SQL Precompiler Generierter C-Quellcode C- Compiler DB-Library Linker Compilierter Code Ausführbares Programm DB-Programmierung-19

20 SQLJ: Embedded SQL für Java // Iteratorklasse definieren #sql iterator It_typ ( String vname, String nname ); It_typ it; // Abfrage durchführen und Iterator dem Ergebnis zuweisen #sql it = { SELECT Vname, NName FROM Angestellte WHERE abtnr = :abtnr }; while (it.next()) { System.out.println ("Name des Angestellten : " + it.vname() + ' ' + it.nname()); } it.close(); System.out.println ("Alle ausgegeben!"); DB-Programmierung-20

21 Aufrufschnittstellen Es werden Funktionen aus einer Bibliothek verwendet. Die DB-Anfragen werden in der Regel in Textvariablen übergeben. Dynamische Einbettung Beispiele: OCI (Oracle Call Interface) ODBC (Open Database Connectivity) JDBC (Java Database Connectivity) DB-Programmierung-21

22 Aufrufschnittstellen - jdbc Ausschnitt aus jdbc-programm: String seltext = "SELECT Name FROM Angestellte " + "WHERE AbtNr = 'Einkauf'"; Statement stmt = conn.createstatement(); ResultSet rset = stmt.executequery (seltext); while ( rset.next() ) { System.out.println( "Name des Angestellten: " + rset.getstring("name") ); } System.out.println ("Alle ausgegeben!"); rset.close(); DB-Programmierung-22

23 jdbc Treiber & Verbindung Es existieren zahlreiche Methoden des Verbindungsaufbaus Einfaches Beispiel: Vor Ausführung des o.a. Programms: import java.sql.*; // Laden der Klasse bewirkt Registrierung Class.forName ("org.gjt.mm.mysql.driver"); // DB-spezifische Verbindungsinfo String cs = "jdbc:mysql:<host>:<port>/<database>"; Connection conn = DriverManager.getConnection(cs+"?user="+un+"&password="+pw); DB-Programmierung-23

24 jdbc Treiberarchitekturen Typ 1: JDBC-ODBC Bridge plus ODBC driver: Zugriff über ODBC => Es können direkt nur lokale Datenquellen angesprochen werden => nicht plattformunabhängig Typ 2: Native API partly Java driver: JDBC Aufrufe werden in Konstrukte der DB-spezifischen API übersetzt => Auf Client-Seite sind entsprechende API s erforderlich. => nicht plattformunabhängig Typ 3: JDBC Net pure Java driver: Anfragen werden in ein DB-unabhängiges Netzwerkprotokoll übersetzt. Dieses wird vom Server in die entspr. DB-Protokolle übersetzt. Tools des DB-Herstellers erforderlich. Typ 4: Native protocol pure Java driver ("thin client Lösung") Wird direkt in ein Netzwerkprotokoll übersetzt, das von der DB verwendet wird. => direkter Zugriff möglich. => Treiber idr nur vom DB-Hersteller DB-Programmierung-24

25 JDBC-Treiber Nicht jeder JDBC-Treiber unterstützt alle Features JDBC-Klasse DatabaseMetaData zur Abfrage der unterstützten Funktionen, z.b. supportssavepoints supportsstatementpooling supportsgetgeneratedkeys JDBC-Treiber-Auswahl: Auch bedenken: Nicht jeder Server unterstützt alle Features! DB-Programmierung-25

26 Aufrufschnittstellen - jdbc Ausschnitt aus jdbc-programm: int abtnr = 47; String seltext = "SELECT Name FROM Angestellte " + "WHERE AbtNr = " + abtnr; Statement stmt = conn.createstatement(); ResultSet rset = stmt.executequery( seltext ); while ( rset.next() ) { System.out.println( "Name des Angestellten: " + rset.getstring( "Name" ) ); } System.out.println( "Alle ausgegeben!" ); rset.close(); DB-Programmierung-26

27 SQL Injection Betrachten Beispiel: String seltext = "SELECT Name FROM Angestellte WHERE pnr=" + vpnr; Alles ok bei: vpnr = "234" Aber was geschieht bei: vpnr = "234A" vpnr = " 'X' OR NOT pnr = 'X' " DB-Programmierung-27

28 Prepared Statements Ausschnitt aus jdbc-programm: int abtnr = 47; String seltext = "SELECT Name FROM Angestellte " + "WHERE AbtNr =?"; PreparedStatement pstmt = conn.preparestatement( seltext ); pstmt.setint( 1, abtnr ); ResultSet rset = pstmt.executequery(); while ( rset.next() ) { System.out.println( "Name des Angestellten: " + rset.getstring( "Name" ) ); } System.out.println( "Alle ausgegeben!" ); rset.close(); DB-Programmierung-28

29 Vorteile von Prepared Statements Schutz vor "SQL-Injection" Vorteilhaft für Optimierer Performancevorteile bei mehrfacher Ausführung: Trennung von einmaliger Analyse (prepare) und mehrfacher Ausführung (execute) DB-Programmierung-29

30 Update Operationen Beispiel: Einfügen neuer Datensätze String stmt = "INSERT INTO Personal(Persnr, Name, Gebdatum) "+ "VALUES (?,?,?)"; PreparedStatement pstmt = conn.preparestatement( stmt ); pstmt.setint( 1, pnr ); pstmt.setstring( 2, name ); pstmt.setdate( 3, gebdat ); int erg = pstmt.executeupdate(); DB-Programmierung-30

31 Update Operationen 2 Beispiel: Einfügen mehrerer Datensätze String stmt = "INSERT INTO Personal (Persnr, Name) " + "VALUES (?,?)"; PreparedStatement pstmt = conn.preparestatement( stmt ); pstmt.setint( 1, pnr1 ); pstmt.setstring( 2, name1 ); int erg1 = pstmt.executeupdate(); pstmt.setint( 1, pnr2 ); pstmt.setstring( 2, name2 ); int erg2 = pstmt.executeupdate(); DB-Programmierung-31

32 Batch Updates / Inserts Beispiel: Einfügen mehrerer Datensätze mit einem DB- Aufruf PersonDTO[] personen = ; String stmt = "INSERT INTO Personal (Persnr, Name) " + "VALUES (?,?)"; PreparedStatement pstmt = conn.preparestatement( stmt ); for (PersonDTO p : personen) { pstmt.setint( 1, p.getpersnr() ); pstmt.setstring( 2, p.getname() ); pstmt.addbatch(); } int[] ergs = pstmt.executebatch(); DB-Programmierung-32

33 Batch Update (2) Batch Update sehr effizient Aber: (Quelle: Javadoc Interface Statement) Submits a batch of commands to the database for execution and if all commands execute successfully, returns an array of update counts.... The elements in the array returned by the method executebatch may be one of the following: A number greater than or equal to zero -- indicates that the command was processed successfully and is an update count giving the number of rows in the database that were affected by the command's execution A value of SUCCESS_NO_INFO -- indicates that the command was processed successfully but that the number of rows affected is unknown If the driver continues processing after a failure, at least one of the elements will be the following: A value of EXECUTE_FAILED -- indicates that the command failed to execute successfully and occurs only if a driver continues to process commands after a command fails If one of the commands in a batch update fails to execute properly, this method throws a BatchUpdateException, and a JDBC driver may or may not continue to process the remaining commands in the batch. However, the driver's behavior must be consistent with a particular DBMS, either always continuing to process commands or never continuing to process commands. DB-Programmierung-33

34 Kapselung DB-Zugriffe in Klassen kapseln public class ProductDB { public static Collection<ProductDTO> findall(connection cn) { } public static ProductDTO findbyid(connection cn, String id) { } public static int insert (Connection cn, ProductDTO dto){ } public static int update (Connection cn, ProductDTO dto) { } public static int delete (Connection cn, String id) { } } Kommunikation über DTOs Data Transfer Objects Einfache Java Beans zum Datentransport DB-Programmierung-34

35 Einbettung in 4 GL 4GL - Fourth Generation Language Datenbanksprache Programmiersprache mit integriertem Datenbanktypkonzept Beispiele: Natural (Software AG) ABAP (SAP AG) Gupta SQL PowerBuilder (Sybase) PL/SQL (Oracle)... DB-Programmierung-35

36 Einbettung in 4 GL Merkmale: Einheitliche Sprache zur Bearbeitung von Daten im Programm und in der Datenbank. Mengenorientierte Verarbeitung möglich. IdR Tabellen als Programmiersprachentyp. Oft: Integrierte Möglichkeiten zur grafischen Darstellung. DB-Programmierung-36

37 Einbettung in 4 GL - Beispiel Programmbeispiel ABAP: Data name TYPE Angestellte-Name. SELECT Name FROM Angestellte INTO name WHERE AbtNr = 'Einkauf'. WRITE: / 'Name des Angestellten: ', name. ENDSELECT. WRITE: / 'Alle ausgegeben! '. DB-Programmierung-37

38 Einbettung in 4 GL - Beispiel2 ABAP mit internen Tabellen: Data name TYPE Angestellte-Name. Data ntab TYPE TABLE OF Angestellte-Name. SELECT Name FROM Angestellte INTO TABLE ntab WHERE AbtNr = 'Einkauf'. LOOP AT ntab INTO name. WRITE: / 'Name des Angestellten: ', name. ENDLOOP. WRITE: / 'Alle ausgegeben! '. DB-Programmierung-38

39 Einbettung in 4 GL - Beispiel 3 Analoge Operationen sind auf Programm- und Datenbanktabellen möglich: Data name TYPE Angestellte-Name. Data angtab TYPE TABLE OF Angestellte. SELECT * FROM Angestellte INTO TABLE angtab. LOOP AT angtab WHERE AbtNr = 'Einkauf' INTO name. WRITE: / 'Name des Angestellten: ', name. ENDLOOP. WRITE: / 'Alle ausgegeben! '. DB-Programmierung-39

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

Kapitel DB:VI (Fortsetzung)

Kapitel 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

Mehr

Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können!

Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können! Datenbanken: Standard CLI und JDBC Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können! (Endanwendern ist nicht zuzumuten, SQL zu lernen

Mehr

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

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013 Transaktionsverarbeitung Teil 2 SQL copyright W. G. Spruth,

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

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

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Übersicht der (kommenden) Vorlesungen ˆ Embedded SQL (in Java und C++) ˆ Stored Procedures

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

Ü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

Datenbank Anbindung. Arthur Zaczek. Nov 2014

Datenbank 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

Mehr

Zugriff auf die Datenbank. Ulf Leser Wissensmanagement in der Bioinformatik

Zugriff auf die Datenbank. Ulf Leser Wissensmanagement in der Bioinformatik Zugriff auf die Datenbank Ulf Leser Wissensmanagement in der Bioinformatik Wie komme ich an die Datenbank? Alternativen Alles in Java machen JDBC Treiber von Oracle herunterladen Java programmieren Java-basierte

Mehr

Transaktionen in der Praxis. Dr. Karsten Tolle

Transaktionen 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);

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

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

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

10. Anwendungsprogrammierung. Client-Server-Architektur

10. Anwendungsprogrammierung. Client-Server-Architektur 10. Anwendungsprogrammierung Client-Server-Architektur Anbindung von Programmiersprachen Call-Level-Schnittstellen: SQL/CLI, JDBC Einbettung: Embedded SQL, SQLJ Gespeicherte Prozeduren Prozedurale Erweiterungen:

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

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

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012

Isolationsstufen 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

Mehr

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

SQL 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

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken http://galahad.informatik.fh-kl.de/~miesel/index.html PHP -1 Gliederung Einführung PHP3 Datenbankanbindung mit PHP3 Sicherheitsprobleme Realisierung mit PHP3 Probleme

Mehr

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

Mehr

Einführung in die Informatik II

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

Mehr

Java und Datenbanken Ein Überblick

Java und Datenbanken Ein Überblick Java und Datenbanken Ein Überblick Benjamin Lietzau & Philipp Meyer Sommersemester 2011 1 Themenüberblick 29.03.11 - Benjamin Lietzau & Philipp Meyer - Java und Datenbanken 2 Themenüberblick 1. Einführung

Mehr

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131 Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

Schnittstellen zur Anbindung an Datenbanksysteme

Schnittstellen zur Anbindung an Datenbanksysteme Schnittstellen zur Anbindung an Datenbanksysteme Schnittstellen zur Anbindung an Datenbanksysteme Low-Level-Schnittstellen: Embedded SQL SQL-CLI ODBC JDBC/SQLJ High-Level-Schnittstellen: Object Mappers

Mehr

Kommunikation und Datenhaltung

Kommunikation und Datenhaltung Institut für Programmstrukturen und Datenorganisation (IPD) Kommunikation und Datenhaltung Datenbankanwendungsentwicklung Institut für Programmstrukturen und Datenorganisation (IPD) Überblick über den

Mehr

Kap. 5.5: ABAP-Programmierung mit Open- und Native-SQL

Kap. 5.5: ABAP-Programmierung mit Open- und Native-SQL Kap. 5.5: ABAP-Programmierung mit Open- und Native-SQL ABAP - Übersicht Datenbankzugriff aus ABAP-Programmen Open-SQL Native-SQL Vorbereitung der praktischen Übung mit SAP R/3 (Teil II) Kap. 5.5-1 ABAP/4

Mehr

SQLJ SQLJ. SQL-Klauseln. Embedded SQL für Java. Einbettungsprinzip. Host-Variablen. SQLJ ist in 3 Teile gegliedert: Stefan Böttcher Sven Groppe

SQLJ SQLJ. SQL-Klauseln. Embedded SQL für Java. Einbettungsprinzip. Host-Variablen. SQLJ ist in 3 Teile gegliedert: Stefan Böttcher Sven Groppe Datenbanken und Informationsysteme I Stefan Böttcher Sven Groppe Universität Paderborn ist in 3 Teile gegliedert: Part 0: Embedded SQL für Java ANSI-Standard Baut auf die JDBC API auf Part 1: Java Stored

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

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

Mehr

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel ORM & OLAP Object-oriented Enterprise Application Programming Model for In-Memory Databases Sebastian Oergel Probleme 2 Datenbanken sind elementar für Business-Anwendungen Gängiges Datenbankparadigma:

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

Datenbankzugriff mit JDBC

Datenbankzugriff 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

Mehr

Einstieg in das SQL- und Datenbanktuning 14.01.2009. Loblied auf den Tabellen-Index!

Einstieg in das SQL- und Datenbanktuning 14.01.2009. Loblied auf den Tabellen-Index! 1/40 PHP-User-Group Stuttgart 14.01.2009 Warum Datenbanken einen Hals bekommen und was sich dagegen tun lässt. Tuning und Performancesteigerung ohne zusätzliche Hardware. Ein. Loblied auf den Tabellen-Index!

Mehr

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

Mehr

Art der Info: Technische Background Info Teil 3 (April 2002)

Art der Info: Technische Background Info Teil 3 (April 2002) Betrifft: Autor: Oracle9i New Features SQL und PL/SQL Patrick Malcherek (patrick.malcherek@trivadis.com) Art der Info: Technische Background Info Teil (April 00) Quelle: Aus dem NF9i-Kurs und NF9i-Techno-Circle

Mehr

Objekt-relationales Mapping und Performance-Tuning

Objekt-relationales Mapping und Performance-Tuning Objekt-relationales Mapping und Performance-Tuning Thomas Krüger tkrueger@vanatec.com Agenda Wege um Daten zu lesen Wege um Daten zu modellieren Wege um Datenbanken effizient zu nutzen 2 2 Wege, Daten

Mehr

Installation MySQL Replikationsserver 5.6.12

Installation MySQL Replikationsserver 5.6.12 Ergänzen Konfigurationsdatei my.ini auf Master-Server:!!! softgate gmbh!!! Master und Slave binary logging format - mixed recommended binlog_format = ROW Enabling this option causes the master to write

Mehr

Kapitel 9: Datenbankapplikationen

Kapitel 9: Datenbankapplikationen Kapitel 9: Datenbankapplikationen Datenbankapplikationen ODBC MS Visio MS Access Embedded SQL JDBC Application JDBC/SQLJ Application JDBC Applet Java Servlet Java Server Pages Cold Fusion PHP DQ im Client

Mehr

NoSQL mit Postgres 15. Juni 2015

NoSQL mit Postgres 15. Juni 2015 Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste

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

Hadoop. Simon Prewo. Simon Prewo

Hadoop. Simon Prewo. Simon Prewo Hadoop Simon Prewo Simon Prewo 1 Warum Hadoop? SQL: DB2, Oracle Hadoop? Innerhalb der letzten zwei Jahre hat sich die Datenmenge ca. verzehnfacht Die Klassiker wie DB2, Oracle usw. sind anders konzeptioniert

Mehr

Datenbanksysteme. Dominic Pacher. Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck. dbis-informatik.uibk.ac.

Datenbanksysteme. Dominic Pacher. Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck. dbis-informatik.uibk.ac. Datenbanksysteme Dominic Pacher Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck dbis-informatik.uibk.ac.at 1 Übersicht Was passiert in den kommenden 90 Minuten?

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

Interaktive Webseiten mit PHP und MySQL

Interaktive Webseiten mit PHP und MySQL Interaktive Webseiten mit PHP und Vorlesung 4: PHP & Sommersemester 2003 Martin Ellermann Heiko Holtkamp Sommersemester 2001 Hier noch ein wenig zu (My)SQL: SHOW INSERT SELECT ORDER BY GROUP BY LIKE /

Mehr

Artikel JavaMagzin 10/2010

Artikel JavaMagzin 10/2010 Artikel JavaMagzin 10/2010 Kommunikation zwischen ORACLE und Non-ORACLE Datenbanken oder Mit JEE eine ORACLE-Brücke bauen Der Datenaustausch zwischen ORACLE Datenbanken ist so einfach wie eine simple SQL-Abfrage.

Mehr

SQL and PL/SQL unleashed. Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL

SQL and PL/SQL unleashed. Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL . Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL Johannes Gritsch Themenübersicht Neue Scheduler Job Typen SQL_SCRIPT und BACKUP_SCRIPT SQL RowLimit: PERCENT und TIES WITH-Klausel mit

Mehr

Informatik Datenbanken SQL-Einführung

Informatik Datenbanken SQL-Einführung Informatik Datenbanken SQL-Einführung Gierhardt Inhaltsverzeichnis 1 Vorbemerkungen 1 2 Auswahl-Abfragen mit SELECT 2 2.1 Selektion...................................... 2 2.2 Projektion.....................................

Mehr

WHERE Klausel Generierung mit.net und Oracle. Aus unserer Projekterfahrung und Architektur-Kurs

WHERE Klausel Generierung mit.net und Oracle. Aus unserer Projekterfahrung und Architektur-Kurs Betrifft Art der Info Quelle WHERE Klausel Generierung mit.net und Oracle Technical Info Aus unserer Projekterfahrung und Architektur-Kurs Where ist the WHERE? Der Artikel untersucht die Möglichkeiten,

Mehr

A Generic Database Web Service for the Venice Lightweight Service Grid

A Generic Database Web Service for the Venice Lightweight Service Grid A Generic Database Web Service for the Venice Lightweight Service Grid Michael Koch Bachelorarbeit Michael Koch University of Kaiserslautern, Germany Integrated Communication Systems Lab Email: m_koch2@cs.uni-kl.de

Mehr

ActiveRecord-Iterator

ActiveRecord-Iterator ActiveRecord-Iterator Batch-Verarbeitung mit ActiveRecord Andreas Gungl OTTO Software Partner GmbH 1 OTTO Software Partner Mainframe (ASM / Cobol) C / C++ Java SE und Java EE Seit 2005 Ruby und Rails Call

Mehr

SQL Injection Funktionsweise und Gegenmaßnahmen

SQL Injection Funktionsweise und Gegenmaßnahmen SQL Injection Funktionsweise und Gegenmaßnahmen EUROSEC GmbH Chiffriertechnik & Sicherheit Tel: 06173 / 60850, www.eurosec.com EUROSEC GmbH Chiffriertechnik & Sicherheit, 2005 Problematik SQL-Injection

Mehr

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig Von ODBC zu OLE DB Neue Möglichkeiten der Datenintegration Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig Von ODBC zu OLE DB Begriffsbestimmung ODBC, OLE DB, COM, ADO... Unterschiede zwischen

Mehr

SQL Cockpit & SAP HANA Prüfen Sie Ihre SQL Abfragen auf HANA-Tauglichkeit

SQL Cockpit & SAP HANA Prüfen Sie Ihre SQL Abfragen auf HANA-Tauglichkeit SQL Cockpit & SAP HANA Prüfen Sie Ihre SQL Abfragen auf HANA-Tauglichkeit Johann Fößleitner Cadaxo GmbH email: johann.foessleitner@cadaxo.com Twitter: @foessleitnerj Agenda 1 SAP HANA Integrationsszenarien

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

Eine weitere Möglichkeit "die grosse weite Welt" zu erschliessen sind ODBC/JDBC bzw. ESS Verbindungen.

Eine weitere Möglichkeit die grosse weite Welt zu erschliessen sind ODBC/JDBC bzw. ESS Verbindungen. Database Designs Alexis Gehrt / alexis@database-designs.ch - Erster Kontakt mit FileMaker ca. 1991 ( Version 2, 2.1) - Jan 2000 - Database Designs - Seit 2007 bei einem Kunden (Linden-Grafik AG) angestellt

Mehr

p^db=`oj===pìééçêíáåñçêã~íáçå=

p^db=`oj===pìééçêíáåñçêã~íáçå= p^db=`oj===pìééçêíáåñçêã~íáçå= Error: "Could not connect to the SQL Server Instance" or "Failed to open a connection to the database." When you attempt to launch ACT! by Sage or ACT by Sage Premium for

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

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

Mehr

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden.

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden. Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) PHP und MySQL Integration von MySQL in PHP Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424 (michael.kluge@tu-dresden.de) MySQL

Mehr

Cassandra Query Language (CQL)

Cassandra Query Language (CQL) Cassandra Query Language (CQL) Seminar: NoSQL Wintersemester 2013/2014 Cassandra Zwischenpräsentation 1 Gliederung Basic facts Datentypen DDL/DML ähnlich zu SQL Besonderheiten Basic facts CQL kurz für

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

Datenbankprogrammierung 2

Datenbankprogrammierung 2 Datenbankprogrammierung 2 JDBC Java Database Connectivity Call Level Interface Schnittstelle zwischen DBMS und Applikation JDBC API ist seit JDK1.1 inkludiert Ermöglicht Zugriff aus Java-Applikationen

Mehr

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Schlagworte Autor: Klaus Friemelt, MT AG dynamisches BULK SQL, VARCHAR2-indizierte PL/SQL-Tabellen Einleitung Mit den letzten

Mehr

Oracle Warehousebuilder. Version 9.2.0.2.8 In Version 9.2er Umgebung

Oracle Warehousebuilder. Version 9.2.0.2.8 In Version 9.2er Umgebung Oracle Warehousebuilder Version 9.2.0.2.8 In Version 9.2er Umgebung Themenüberblick Architektur Vorbereitung Ablauf und Details Anmerkungen / Probleme Architektur GEBIS (Source) Datenfluss

Mehr

C# - Einführung in die Programmiersprache Arbeiten mit ADO.NET. Leibniz Universität IT Services Anja Aue

C# - Einführung in die Programmiersprache Arbeiten mit ADO.NET. Leibniz Universität IT Services Anja Aue C# - Einführung in die Programmiersprache Arbeiten mit ADO.NET Leibniz Universität IT Services Anja Aue Experteneinstellungen in Visual Studio Express Extras Einstellungen Experteneinstellungen. Es werden

Mehr

Objektrelationale, erweiterbare Datenbanken WS 04/05

Objektrelationale, erweiterbare Datenbanken WS 04/05 Eidgenössische Technische Hochschule Zürich Swiss Federal Institute of Technology Zurich Institut für Informationssysteme Dr.C.Türker Objektrelationale, erweiterbare Datenbanken WS 0405 Übung 8 Aufgabe

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

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

Mehr

Active Server Pages. Internetanbindung von Datenbanken. Gliederung. Einführung in ASP. Sessions mit ASP. Datenbankanbindung mit ASP ASP-1

Active Server Pages. Internetanbindung von Datenbanken. Gliederung. Einführung in ASP. Sessions mit ASP. Datenbankanbindung mit ASP ASP-1 Internetanbindung von Datenbanken Active Server Pages ASP-1 Gliederung Einführung in ASP Sessions mit ASP Datenbankanbindung mit ASP Brunner, Fromm, Huppert ASP-2 Einführung in ASP ASP-3 Entwicklung des

Mehr

FileMaker und Java...und es öffnen sich neue Welten!

FileMaker und Java...und es öffnen sich neue Welten! FileMaker und Java...und es öffnen sich neue Welten! schubec GmbH Inhaber und Geschäftsführer der schubec GmbH Betreiber von FileMakerProfis.de PHP Java Google Web Toolkit Vaadin Wicket SQL Datenbanken

Mehr

SQL-INJECTIONS. N E T D E V E L O P E R S G R O U P B E R L I N B R A N D E N B U R G, 0 5. 0 4. 2 0 1 2

SQL-INJECTIONS. N E T D E V E L O P E R S G R O U P B E R L I N B R A N D E N B U R G, 0 5. 0 4. 2 0 1 2 SQL-INJECTIONS. N E T D E V E L O P E R S G R O U P B E R L I N B R A N D E N B U R G, 0 5. 0 4. 2 0 1 2 Wie sind die nur wieder an meine Kreditkartendaten gekommen? http://www.testedich.de/quiz29/picture/pic_1312394875_7.jpg

Mehr

MySQL 101 Wie man einen MySQL-Server am besten absichert

MySQL 101 Wie man einen MySQL-Server am besten absichert MySQL 101 Wie man einen MySQL-Server am besten absichert Simon Bailey simon.bailey@uibk.ac.at Version 1.1 23. Februar 2003 Change History 21. Jänner 2003: Version 1.0 23. Februar 2002: Version 1.1 Diverse

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

Datenbanksysteme 2015

Datenbanksysteme 2015 Datenbanksysteme 2015 Kapitel 09: Datenbankapplikationen Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen ODBC MS Visio MS Access Embedded SQL JDBC Application SQLJ

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Zeichensatzkonvertierung in Oracle-DB. moving objects GmbH Martin Busik Hamburg - Mai 2003 www.moving-objects.de

Zeichensatzkonvertierung in Oracle-DB. moving objects GmbH Martin Busik Hamburg - Mai 2003 www.moving-objects.de Zeichensatzkonvertierung in Oracle-DB moving objects GmbH Martin Busik Hamburg - Mai 2003 www.moving-objects.de moving objects GmbH? Beratung Anforderungserhebung Geschäftprozessanalyse Coaching? Schulung

Mehr

Java-Datenbankzugriff mit JDBC

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

Mehr

Web Adressdatenbank mit ASP

Web Adressdatenbank mit ASP Web Adressdatenbank mit ASP 1 Einleitung 1.1 Vorwort Auf den nächsten paar Seiten will ich eine kleine Anleitung geben, wie man per ASP(Active Server Pages) auf eine MS Access Datenbank zugreifen kann.

Mehr

PostgreSQL im praktischen Einsatz. Stefan Schumacher

PostgreSQL im praktischen Einsatz. Stefan Schumacher PostgreSQL im praktischen Einsatz 2. Brandenburger Linux Infotag 2005 Stefan Schumacher , PGP Key http:/// $Header: /home/daten/cvs/postgresql/folien.tex,v 1.11 2005/04/25

Mehr

Kuriositäten in der Oracle-Datenbank

Kuriositäten in der Oracle-Datenbank Kuriositäten in der Oracle-Datenbank 19. Deutsche ORACLE-Anwenderkonferenz Do. 16.11., 14.00 Uhr, Variohalle 1 Dr. Peter Alteheld, Systemberater MT AG, Bereich Solutions Development, FB Plattform Services

Mehr

Verteidigung gegen SQL Injection Attacks

Verteidigung gegen SQL Injection Attacks Verteidigung gegen SQL Injection Attacks Semesterarbeit SS 2003 Daniel Lutz danlutz@watz.ch 1 Inhalt Motivation Demo-Applikation Beispiele von Attacken Massnahmen zur Verteidigung Schlussfolgerungen 2

Mehr

Unterabfragen (Subqueries)

Unterabfragen (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

Mehr

Parameter-Updatesoftware PF-12 Plus

Parameter-Updatesoftware PF-12 Plus Parameter-Updatesoftware PF-12 Plus Mai / May 2015 Inhalt 1. Durchführung des Parameter-Updates... 2 2. Kontakt... 6 Content 1. Performance of the parameter-update... 4 2. Contact... 6 1. Durchführung

Mehr

Übungsblatt 8- Lösungsvorschlag

Übungsblatt 8- Lösungsvorschlag Universität Innsbruck - Institut für Informatik Prof. Günther Specht, R.Binna, N.Krismer, M. Tschuggnall 30. November 2012 Proseminar Datenbanksysteme Übungsblatt 8- Lösungsvorschlag Aufgabe 1 (Trigger)

Mehr

PostgreSQL in großen Installationen

PostgreSQL in großen Installationen PostgreSQL in großen Installationen Cybertec Schönig & Schönig GmbH Hans-Jürgen Schönig Wieso PostgreSQL? - Die fortschrittlichste Open Source Database - Lizenzpolitik: wirkliche Freiheit - Stabilität,

Mehr

Grundlagen zur nebenläufigen Programmierung in Java

Grundlagen zur nebenläufigen Programmierung in Java Grundlagen zur nebenläufigen Programmierung in Java Karlsruher Entwicklertag 2013 5. Juni 2013 Referent: Christian Kumpe Inhalt des Vortrags Was zeigt dieser Vortrag? Ein einfaches Beispiel mit allerlei

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

Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis

Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENBANKSYSTEME VU 184.686 7. 5. 2014 Kennnr. Matrikelnr.

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

SQL. Abfragesprache Datenmanipulation - DML

SQL. Abfragesprache Datenmanipulation - DML SQL Abfragesprache Datenmanipulation - DML SQL DML-Operationen DML = Data Manipulation Language Sprache zur Veränderung der Daten Operationen Daten selektieren Daten einfügen Daten ändern Daten löschen

Mehr

SQL. SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken.

SQL. SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken. Vorlesungsteil SQL Grundlagen - 1 / 8 - SQL SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken. Auf einem Server (Rechner im Netz, der Dienste

Mehr

Übungsaufgabe Transaktion als Middleware

Übungsaufgabe Transaktion als Middleware Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung

Mehr

Einführung in PHP 5 und IBM DB2

Einführung in PHP 5 und IBM DB2 Einführung in PHP 5 und IBM DB2 Webapplikationen mit PHP 5.2 und IBM DB2 PHP Conference 2006-08.11.2006 Themenübersicht PHP 5.2 und Datenbanken PDO Warum IBM DB2? PHP und IBM DB2 Installation / Konfiguration

Mehr

DB2 SQL, der Systemkatalog & Aktive Datenbanken

DB2 SQL, der Systemkatalog & Aktive Datenbanken DB2 SQL, der Systemkatalog & Aktive Datenbanken Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog

Mehr

Seminar: Java zum Zugriff auf Datenbanken SQLJ

Seminar: Java zum Zugriff auf Datenbanken SQLJ Seminar: Java zum Zugriff auf Datenbanken SQLJ Mahboubeh Pakdaman 04.11.2002 Seminar: SQLJ 2 1. Einleitung Inhaltsverzeichnis 1.1 Was ist SQLJ? 1.2 SQLJ und wichtige Komponenten 1.3 Vorteile von SQLJ im

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

Mehr

JDBC. VL Datenbanksysteme. Ingo Feinerer

JDBC. VL Datenbanksysteme. Ingo Feinerer JDBC VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung Einführung DB-Anbindung an Programmiersprachen

Mehr