Datenbank Anbindung. Arthur Zaczek

Größe: px
Ab Seite anzeigen:

Download "Datenbank Anbindung. Arthur Zaczek"

Transkript

1 Datenbank Anbindung Arthur Zaczek Nov /39

2 Datenbank Anbindung Datenbank Anbindung 2/39

3 Übersicht Datenbankanbindung mit JDBC und ADO.NET. Datenbank Anbindung 3/39

4 .NET ADO.NET Kein Treiberkonzept. Jede Datenbank hat eigenes Set an Klassen. Meistens wird für nur eine Datenbank programmiert Datenbank Anbindung 4/39

5 JAVA JDBC Vielzahl an Treibern für versch. Datenbanken. Diese werden durch den DriverManager verwaltet. Programmierung ist aus Sicht der Klassen Datenbank unabhängig. Datenbank Anbindung 5/39

6 Ausblick Datenbanksysteme unterscheiden sich im Detail. Generische Routinen sind nur schwer selbst zu realisieren. Daher: ORM benutzen. (n)hibernate (Java &.NET) EntityFramework (.NET) (Linq2SQL) Datenbank Anbindung 6/39

7 Java & MSSQL Java & MSSQL 7/39

8 Vorbereitungen Anbindung an einen SQL Server (Express) 1. SQL Server Express vorbereiten 2. TCP/IP Verbindungen zulassen 3. SQL Server Browser starten 4. SQL User anlegen 5. JDBC Treiber vorbereiten 6. JDBC Treiber von msdn.microsoft.com herunterladen & installieren 1 7. JDBC Treiber dem Projekt hinzufügen 1 Java & MSSQL 8/39

9 Andere Datenbanken Datenbank vorbereiten Treiber organisieren Java & MSSQL 9/39

10 TCP/IP aktivieren 1. SQL Server Configuration Manager starten 2. SQL Server 2005 Network Configuration 3. TCP/IP einschalten Java & MSSQL 10/39

11 SQL Server Browser aktivieren 1. SQL Server Configuration Manager starten 2. SQL Server Services 3. SQL Server Browser starten Alternativ auch über services.msc Java & MSSQL 11/39

12 Datenbankuser anlegen JDBC kann sich nicht mit Integrated Authentication (=Windows User) anmelden, daher muss ein Datenbankuser angelegt werden. Java & MSSQL 12/39

13 JDBC Treiber vorbereiten 1. JDBC Treiber von msdn.microsoft.com herunterladen & installieren 2 2. CLASSPATH lt. Dokumentation setzen 3. Treiber dem Projekt hinzufügen 2 Java & MSSQL 13/39

14 JDBC JDBC 14/39

15 Bestandteile JDBC API Schnittstelle zu Datenbanksystemen CRUD Operationen JDBC Driver Manager Verwaltet Datenbank Treiber JDBC-ODBC Bridge ODBC Anbindung mit Java JDBC 15/39

16 Treiber laden Zuerst muss/müssen der/die Treiber geladen werden. z.b.: MS SQL Server try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServer } catch(classnotfoundexception ex) { JOptionPane.showMessageDialog(null, "MS JDBC Driver n } JDBC 16/39

17 Verbindung öffnen import java.sql.* Connection db = DriverManager.getConnection( "jdbc:sqlserver://localhost\\sqlexpress;" + "databasename=northwind", "java", "java"); JDBC 17/39

18 Verbindung öffnen jdbc:sqlserver:// localhost\sqlexpress databasename=northwind java/java Auswahl des Treibers lt. Treiberdokumentation Datenbankserver Datenbankname Username/Password als Parameter JDBC 18/39

19 Objekte Connection PreparedStatement ResultSet Statement Datenbankverbindung SQL Statement, das ausgeführt werden soll Kann Parameter enthalten Ergebnis eines SELECT Statements SQL Statement OHNE Parameter JDBC 19/39

20 CRUD R // Datenbankverbindung öffnen Connection db = DriverManager.getConnection(...); // SQL STMT vorbereiten PreparedStatement cmd = db.preparestatement("select[produ FROM [Products] WHERE [UnitPrice] >?"); // Parameter setzen cmd.setdouble(1, 100.0); // Ausführen ResultSet rd = cmd.executequery(); // Daten holen while(rd.next()) { Product p = new Product(); p.setproductid(rd.getint(1)); p.setproductname(rd.getstring(2)); getmodel().addelement(p); } JDBC 20/39

21 Nicht vergessen! rd.close(); cmd.close(); db.close(); Auf Exceptionhandling achten! JDBC 21/39

22 ResultSet Das ResultSet selbst kann auch Daten aktualisieren. Dazu muss das ResultSet über das Statement Objekt erzeugt werden, mit einem Updatefähigen Cursor. Bitte nicht verwenden!!! Cursor binden Datenbankresourcen Cursor verursachen Table Locks Die Anzahl der max. User wird unnötig verringert JDBC 22/39

23 CRUD CUD // Datenbankverbindung öffnen Connection db = DriverManager.getConnection(...); // SQL STMT vorbereiten PreparedStatement cmd = db.preparestatement("update [Prod WHERE [ProductID] =?"); // Parameter setzen cmd.setstring(1, "I like Schoggi Schokolade"); cmd.setint(2, 27); // Ausführen, Rows enthält die Anzahl der betroffenen Zei int rows = cmd.executeupdate(); JDBC 23/39

24 Nicht vergessen! cmd.close(); db.close(); Auf Exceptionhandling achten! JDBC 24/39

25 Prepared Statement Prepared Statement 25/39

26 Motivation (Gilt für JDBC & ADO.NET) Warum sollten sie verwendet werden? z.b.: Datumformat WHERE Date = "2008/01/05" WHERE Date = " " WHERE Date = " " Prepared Statement 26/39

27 SQL Injection Aus einem Programm: String sql = "SELECT * FROM Products WHERE Name = '" + tx Usereingabe: '; DROP TABLE Products; -- SQL Stmt an den Server: SELECT * FROM Products WHERE Name = ''; DROP TABLE Produc Prepared Statement 27/39

28 SQL Injection SQL Injection! Ein Benutzer_inn ist in der Lage, das SQL Statement, das an einen Datenbank Server gesendet wird, nach eigenen Wünschen zu manipulieren. Das ist ein sehr häufiger Angriffsvektor. Prepared Statements verhindern SQL Injection zuverlässig Prepared Statement 28/39

29 Prepared Statement Procedure Cache, Execution Plan! Datenbanken (alle) müssen zuerst den SQL String in einen Execution Plan umrechnen. Das Umrechnen kostet Zeit! Schickt man immer wieder den selben SQL String, dann kann sich die Datenbank den Execution Plan merken. = Performancegewinn Prepared Statement 29/39

30 ADO.NET ADO.NET 30/39

31 Überblick Es gibt keine Treiber. Jede Datenbank hat ihre eigenen.net Klassen, die untereinander nicht kompatibel sind System.Data.SqlClient System.Data.OleDb System.Data.Odbc ADO.NET 31/39

32 Providermodelle Es gibt Providermodelle z.b.: Authentifizierung im ASP.NET WebParts im ASP.NET etc. Provider sind keine Datenbank-Zugrifftechnologie! ADO.NET 32/39

33 SqlClient SqlConnection SqlCommand SqlDataReader SqlParameter SqlTransaction Datenbankverbindung Sql Statement, mit Parametern Ergebnis eines SELECT Statement Kapselt einen Parameter Datenbanktransaktion ADO.NET 33/39

34 DataSet Datasets: verbrauchen viel Hauptspeicher sind unhandlich in der Bedienung eignen sich bestenfalls für Prototypen Auch wenn die Verlockung groß ist (DataGrid, DataAdapter, etc.) DataSets sind unpraktisch ADO.NET 34/39

35 Verbindung öffnen using System.Data.SqlClient; using (SqlConnection db = new SqlConnection(@"Data Source Initial Catalog=Northwind;Integrated Security=true;")) { db.open();... } ADO.NET 35/39

36 Verbindung öffnen Data Source=... Initital Catalog=... Integrated Security=true User Name=User; Password=pass Server Datenbank Anmeldung über Windows Identity Anmeldung über Username/Password ADO.NET 36/39

37 CRUD R // Datenbankverbindung öffnen using (SqlConnection db = new SqlConnection(...)) { db.open(); // SQL STMT vorbereiten SqlCommand cmd = new SqlCommand(@"SELECT[ProductID], FROM [Products] WHERE [UnitPrice] db); // Parameter setzen cmd.parameters.addwithvalue("@price", 100.0); // Ausführen using (SqlDataReader rd = cmd.executereader()) { // Daten holen while (rd.read()) { Product p = new Product(); p.productid = rd.getint32(0); ADO.NET p.productname = rd.getstring(1); 37/39

38 Nicht vergessen! using() { } db.close(); db.dispose(); Auf Exceptionhandling achten! ADO.NET 38/39

39 CRUD CUD // Datenbankverbindung öffnen using (SqlConnection db = new SqlConnection(...)) { db.open(); // SQL STMT vorbereiten SqlCommand cmd = new SqlCommand(@ UPDATE [Products] S WHERE [ProductID] db); // Parameter setzen cmd.parameters.addwithvalue("@n", "I like Schoggi Sch cmd.parameters.addwithvalue("@id", 27); // Ausführen, rows enthält die Anzahl der betroffenen int rows = cmd.executenonquery(); } ADO.NET 39/39

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

Java: MySQL-Anbindung mit JDBC.

Java: MySQL-Anbindung mit JDBC. Java: MySQL-Anbindung mit JDBC Vorarbeiten Wir brauchen: - MySQL-Server - JDBC-Treiber - (Import java.sql.*) Vorarbeiten MySQL-Server in unserem Falle: WAMP (= Apache) (runterladen, installieren, starten)

Mehr

Willkommen. Datenbanken und Anbindung

Willkommen. Datenbanken und Anbindung Willkommen Datenbanken und Anbindung Welche stehen zur Wahl? MySQL Sehr weit verbreitetes DBS (YT, FB, Twitter) Open-Source und Enterprise-Version Libs in C/C++ und Java verfügbar Grundsätzlich ist ein

Mehr

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

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1 Kapitel 10 JDBC und SQLJ 1 JDBC und SQLJ Bisher: Einbettung von SQL (statisch bzw. dynamisch) in C, C++, COBOL, ADA (embedded SQL) bzw. prozedurale Erweiterungen für SQL in Oracle (PL/SQL) Was ist mit

Mehr

Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn

Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher

Mehr

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

JDBC. Java DataBase Connectivity

JDBC. Java DataBase Connectivity JDBC Java DataBase Connectivity JDBC-Schichten JDBC besteht aus 2 Teilen, 1. aus Datenbanktreibern, die den Anschluß von Java-Anwendungen an Datenbanksysteme wie Sybase, DB/2, Oracle, MS ACCESS oder Mini

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)

Mehr

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

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann. JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten

Mehr

1a) SQL Stored Procedure via IDs

1a) SQL Stored Procedure via IDs 1a) SQL Stored Procedure via IDs Erstellen Sie analog zu Aufgabe 2d) des ersten Übungsblatts eine SQL Stored Procedure, welche den Freundschaftsgrad zweier Benutzer eines sozialen Netzwerks aktualisiert.dazu

Mehr

Java Database Connectivity. Gracin Denis, IB 4 C

Java Database Connectivity. Gracin Denis, IB 4 C Java Database Connectivity Gracin Denis, IB 4 C Agenda 1. JDBC-Architektur 2. Treiber der JDBC 2.1 Typ-1 Treiber 2.2 Typ-2 Treiber 2.3 Typ-3 Treiber 2.4 Typ-4 Treiber 3. Verbindungsablauf 4. Connection

Mehr

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen

Mehr

Oracle & Java HOW TO

Oracle & Java HOW TO Oracle & Java HOW TO Helge Janicke, Niels-Peter de Witt, Karsten Wolke 21. Januar 2002 Inhaltsverzeichnis 1 Java-Anbindung an Oracle-DB 2 2 Benötigte Programme und Daten 2 3 Einbinden der Klassen 2 4 Aufbau

Mehr

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

Datenbankentwurf & Datenbankzugriff mit JDBC. Georg Köster Sven Wagner-Boysen Datenbankentwurf & Datenbankzugriff mit JDBC Georg Köster Sven Wagner-Boysen 6. November 2007 Gliederung 2 Datenbankentwurf für ProminentPeople.info ER-Modell Relationaler Entwurf Normalisierung Datenbankzugriff

Mehr

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

GML und Bibliothek oracle.sdoapi

GML und Bibliothek oracle.sdoapi GML und Bibliothek oracle.sdoapi Nachfolgend werden die Java-Klassen aus dem GML-Kapitel unter Verwendung der alten Klassenbibliothek oracle.sdoapi dargestellt. Erzeugung von GML 3.1 aus SDO_GEOMETRY-Objekten

Mehr

Datenbanken. Proseminar Objektorientiertes Programmieren mit.net und C# Sebastian Pintea. Institut für Informatik Software & Systems Engineering

Datenbanken. Proseminar Objektorientiertes Programmieren mit.net und C# Sebastian Pintea. Institut für Informatik Software & Systems Engineering Datenbanken Proseminar Objektorientiertes Programmieren mit.net und C# Sebastian Pintea Institut für Informatik Software & Systems Engineering Agenda 1. Datenbanken 2. SQL 3. ADO.NET DataProvider (providerabhängig)

Mehr

Datenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen

Datenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen Datenbanksysteme Programmieren von Datenbankzugriffen mit JDBC Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2018 Übersicht Architektur von JDBC Ziele von JDBC Grundstruktur

Mehr

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

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql JDBC inoffizielle Abkürzung für: Java Database Connectivity seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql ist eine Menge von Klassen und Methoden, um aus Java-Programmen relationale Datenbanken

Mehr

Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape. 6. Übung

Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape. 6. Übung Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape 6. Übung Aufgabe 1: In dieser Übung sollen Sie eine kleine Java-Anwendung schreiben, die auf die Oracle-Datenbank

Mehr

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

Java 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

Mehr

Java Database Connectivity-API (JDBC)

Java Database Connectivity-API (JDBC) Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist Herstellerabhängig

Mehr

Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6

Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6 Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez. 2011 Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6 Datenbanksysteme I Aufgabe 1: Deklarative Änderungsoperationen

Mehr

Datenbanksysteme 2011

Datenbanksysteme 2011 Datenbanksysteme 2011 noch Kapitel 10: Datenbankapplikationen Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen MS Visio MS Access Embedded SQL im C-Programm JDBC /

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

PHP- Umgang mit Datenbanken (1)

PHP- Umgang mit Datenbanken (1) PHP- Umgang mit Datenbanken (1) Weitere Funktionen zum Umgang mit Datenbanken (Erzeugen, Löschen) und Tabellen (Erzeugen, Löschen) Zum Beispiel für das Erzeugen einer neuen Datenbank $dbname= blumendb

Mehr

vs. Fehler zur Übersetzungszeit

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

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)

Mehr

11 Anwendungsprogrammierung

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

Mehr

Java Database Connectivity-API (JDBC)

Java Database Connectivity-API (JDBC) Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist herstellerabhängig

Mehr

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

Datenbank und Informationssysteme

Datenbank und Informationssysteme Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen 3 1.1 Architektur des SQL/CLI am Beispiel JDBC................... 4 1.2 Anfragen und Ergebnismengen in JDBC......................

Mehr

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

Wie kommen die Befehle zum DBMS

Wie kommen die Befehle zum DBMS Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS Workbench Kommandozeile IBM Query Tool Weitere?

Mehr

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

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

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

Datenbanksysteme I Übung: JDBC. Jana Bauckmann

Datenbanksysteme I Übung: JDBC. Jana Bauckmann Datenbanksysteme I Übung: JDBC Jana Bauckmann Wo reicht SQL alleine nicht? 2 Web-Anwendungen Daten übersichtlich und schön präsentieren Komplizierte Fragestellungen Sind sich 2 Tupel ähnlich? Duplikaterkennung

Mehr

Multimedia im Netz Wintersemester 2013/14. Übung 02 (Hauptfach)

Multimedia im Netz Wintersemester 2013/14. Übung 02 (Hauptfach) Multimedia im Netz Wintersemester 2013/14 Übung 02 (Hauptfach) Ludwig-Maximilians-Universität München Multimedia im Netz WS 2013/14 - Übung 2-1 PHP und MySQL Es werden mehrere APIs von PHP angeboten um

Mehr

Aufbau des Beispiels. Arthur Zaczek. Feb 2015

Aufbau des Beispiels. Arthur Zaczek. Feb 2015 Arthur Zaczek Feb 2015 1 Aufbau des Beispiels 1.1 Architektur - Java Figure 1: Architektur Java 1 1.2 Architektur - CS Figure 2: Architektur C# 1.3 Java vs. CS Java: JavaFX hat Controller Aktionen werden

Mehr

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2017/2018 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 14. September 2017 Betriebssysteme / verteilte

Mehr

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

MySQL, Java und einiges mehr

MySQL, Java und einiges mehr MySQL, Java und einiges mehr Client Der Browser Firefox Chrome Safari Internet Explorer URL http://localhost:8080/html/index.html Internet Die darzustellende Webseite HTML Server Apache Tomcat Jetty

Mehr

Kapitel 11: Anwendungsentwicklung

Kapitel 11: Anwendungsentwicklung Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2015/2016 Kapitel 11: Anwendungsentwicklung Vorlesung:

Mehr

Kapitel 11: Anwendungsentwicklung

Kapitel 11: Anwendungsentwicklung Skript zur Vorlesung Wintersemester 2005/2006 Kapitel 11: Anwendungsentwicklung Vorlesung: Dr. Matthias Schubert Übungen: Elke Achtert, Arthur Zimek Skript 2004 Christian Böhm http://www.dbs.informatik.uni-muenchen.de/lehre/dbs

Mehr

Kapitel 8: Datenbankanbindung. SoPra 2008 Kap. 8: Datenbankanbindung (1/40)

Kapitel 8: Datenbankanbindung. SoPra 2008 Kap. 8: Datenbankanbindung (1/40) Kapitel 8: Datenbankanbindung SoPra 2008 Kap. 8: Datenbankanbindung (1/40) Übersicht 1. Objekte und relationale Datenbanken 2. SQL 3. ADO.NET 4. Persistenzschicht SoPra 2008 Kap. 8: Datenbankanbindung

Mehr

Übung3. Test der Möglichkeiten des JDBC-Interfaces. Prof. Dr. Andreas Schmietendorf 1. Übung 3

Übung3. Test der Möglichkeiten des JDBC-Interfaces. Prof. Dr. Andreas Schmietendorf 1. Übung 3 Übung3 Test der Möglichkeiten des JDBC-Interfaces Prof. Dr. Andreas Schmietendorf 1 Überblick & Zielstellungen Prof. Dr. Andreas Schmietendorf 2 Überblick Die Verwendung eines Datenbankmanagementsystems

Mehr

Klausur Datenbanken II

Klausur Datenbanken II Klausur Datenbanken II 8.3.2001 Name Vorname Semester Matrikelnr Aufgabe Punkte maximal 1 8 2 8 3 3 4 3 5 4 6 6 7 6 8 6 9 [Zusatz] [4] Summe 44 Punkte erreicht Bitte geben Sie die Lösungen möglichst direkt

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

Praktikum Datenbanksysteme

Praktikum Datenbanksysteme Praktikum Datenbanksysteme Herbstsemester 2012 Dr. Andreas Geppert Platform Architecture Technology Infrastructure Services Credit Suisse geppert@acm.org Herbstsemester 2012 Slide 1 Themenübersicht konzeptueller

Mehr

GTUG September Ist das schon Konvergenz? Qualitätsinformationssysteme bei der ThyssenKrupp Steel Europe AG, KW4 Bochum

GTUG September Ist das schon Konvergenz? Qualitätsinformationssysteme bei der ThyssenKrupp Steel Europe AG, KW4 Bochum GTUG September 2013 Ist das schon Konvergenz? Qualitätsinformationssysteme bei der ThyssenKrupp Steel Europe AG, KW4 Bochum Hans-Fried Kirschbaum CommitWork GmbH Seite 1 Info@CommitWork.de www.commitwork.de

Mehr

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7 Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7 Aufgabe 2 + 3: Datenbanksysteme I import java.sql.*; import oracle.jdbc.driver.*;

Mehr

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

Mehr Performance mit JDBC JAVA-Anwendungen und die Oracle-Datenbank. Carsten Czarski Business Unit Database Oracle Deutschland GmbH

Mehr Performance mit JDBC JAVA-Anwendungen und die Oracle-Datenbank. Carsten Czarski Business Unit Database Oracle Deutschland GmbH Mehr Performance mit JDBC JAVA-Anwendungen und die Oracle-Datenbank Carsten Czarski Business Unit Database Oracle Deutschland GmbH Oracle JDBC Treiber Versionen Datenbank-Release J D B C 10.1.0 9.2.0 9.0.1

Mehr

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 20. November 2015 Betriebssysteme / verteilte

Mehr

JDBC Datenzugriff aus Java ETIS SS04

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

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

Datenbanksysteme I. Aufgabe 1: Erstellen einer Multimedia-Datenbank. Grundlage sind wiederum bereits implementierte Methoden aus Übungsblatt 6:

Datenbanksysteme I. Aufgabe 1: Erstellen einer Multimedia-Datenbank. Grundlage sind wiederum bereits implementierte Methoden aus Übungsblatt 6: Universität Augsburg, Institut für Informatik Wintersemester 2010/2011 Prof. Dr. W. Kießling 17. Dez. 2010 Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 7 Aufgabe 1: Erstellen einer Multimedia-Datenbank

Mehr

Datenbanksysteme I Datenbankprogrammierung. 15.6.2009 Felix Naumann

Datenbanksysteme I Datenbankprogrammierung. 15.6.2009 Felix Naumann Datenbanksysteme I Datenbankprogrammierung 15.6.2009 Felix Naumann SQL mit einer Programmiersprache verbinden 2 Embedded SQL Kombiniert SQL mit 7 Programmiersprachen ADA, C, Cobol, Fortran, M, Pascal,

Mehr

Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 18. Dez Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 8

Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 18. Dez Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 8 Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 18. Dez. 2009 Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 8 Aufgabe 1: JDBC 2.0 und Scrollable Result Sets Datenbanksysteme

Mehr

RELATIONONALE DATENBANKEN MIT JDBC

RELATIONONALE DATENBANKEN MIT JDBC RELATIONONALE DATENBANKEN MIT JDBC Christoph Süsens 07.05.2012 Inhalt Abbildungsverzeichnis...3 Java Database Connection JDBC...4 Herstellen einer Verbindung JDBC - DBMS...4 Treiber Installation Beispiel:

Mehr

Unified-E SQL Adapter

Unified-E SQL Adapter Betrifft: Version 1.6.0.0 und höher Stand: April 2018 Unified-E SQL Adapter Inhalt 1 Allgemeines... 2 2 Adapter-Parameter... 2 2.1 Allgemeine Parameter... 2 2.2 Datenbankspezifische Parameter... 3 2.2.1

Mehr

Exercises for the course Databases and Information Systems I WS 2006/2007 Special exercise JDBC

Exercises for the course Databases and Information Systems I WS 2006/2007 Special exercise JDBC Prof. Dr. Stefan Böttcher Exercises for the course Databases and Information Systems I WS 2006/2007 Special exercise JDBC 1. Preliminary configurations 1.1. Register ODBC database Chose Arbeitsplatz Systemsteuerung

Mehr

Connection Pooling. Was ist das?? Unter Connection Pooling versteht man generell die Wiederverwendung physischer Datenbankverbindungen.

Connection Pooling. Was ist das?? Unter Connection Pooling versteht man generell die Wiederverwendung physischer Datenbankverbindungen. Connection Pooling Was ist das?? Unter Connection Pooling versteht man generell die Wiederverwendung physischer Datenbankverbindungen. Wo wird es eingesetzt?? Connection Pooling wird vor allem in Verbindung

Mehr

Objektorientierte Datenbanken

Objektorientierte Datenbanken Objektorientierte Datenbanken Vorlesung 9 Sebastian Iwanowski FH Wedel Einführung in das objektrelationale Mapping: JDBC: Java Database Connectivity EJB: Enterprise Java Beans Motivation und Einführung

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

Installationsanleitung MS SQL Server 2005. für Sage 50 Ablage & Auftragsbearbeitung. Sage Schweiz AG D4 Platz 10 CH-6039 Root Längenbold

Installationsanleitung MS SQL Server 2005. für Sage 50 Ablage & Auftragsbearbeitung. Sage Schweiz AG D4 Platz 10 CH-6039 Root Längenbold Installationsanleitung MS SQL Server 2005 für Sage 50 Ablage & Auftragsbearbeitung Sage Schweiz AG D4 Platz 10 CH-6039 Root Längenbold Inhaltsverzeichnis 1. GRUNDSÄTZLICHES... 3 2. SQLExpress Installationsanleitung

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

10 Anwendungsprogrammierung

10 Anwendungsprogrammierung 10 10 10.1 Programmiersprachenanbindung 10.2 10.3 PL/SQL 169 10 Teil X 0 Programmiersprachenanbindung 1 2 3 LINQ Sattler / Saake Datenbanksysteme Letzte Änderung: 11.10.2011 10 1 Programmiersprachenanbindung

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

Extreme Performance mit Oracle Times Ten

Extreme Performance mit Oracle Times Ten Extreme Performance mit Oracle Times Ten Agenda 1. Architektur und Übersicht 2. Details der Caching-Technologie 3. Skalierbarkeit, Antwortzeiten, Benchmarkergebnisse 4. Times Ten für die Oracle-Datenbank

Mehr

Programmieren lernen in ASP.NET mit C#

Programmieren lernen in ASP.NET mit C# Programmieren lernen in ASP.NET mit C# von Patrick A. Lorenz, Christoph A. Müller 1. Auflage Hanser München 2003 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 22311 0 Zu Leseprobe schnell und

Mehr

Hochschule Darmstadt Fachbereich Informatik

Hochschule Darmstadt Fachbereich Informatik Hochschule Darmstadt Fachbereich Informatik WPF Routed Events, Datenbankanbindung 03.05.2010 63 Praktikum Tipp: Beispiellösungen zu P4: http://dotnet.jku.at/csbuch/solutions/ Projektvorschläge: Internet-Timeout

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

Kapitel 11: Anwendungsentwicklung

Kapitel 11: Anwendungsentwicklung Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für ysteme Skript zur Vorlesung Wintersemester 2010/2011 Kapitel 11: Anwendungs Vorlesung: DP Dr. Matthias Schubert

Mehr

Transaktionen in Praxis. Dr. Karsten Tolle Vorl

Transaktionen in Praxis. Dr. Karsten Tolle Vorl Transaktionen in Praxis Dr. Karsten Tolle Vorl. 13.06.2017 Probleme bei Transaktionen Lost Update und Inconsistent Retrieval Sichtweise vom Benutzer Auszug aus SQL 92 1) P1 ("Dirty read"): SQL-transaction

Mehr

DOKLI 2.0 Installationshandbuch

DOKLI 2.0 Installationshandbuch DOKLI 2.0 Installationshandbuch 1 Inhalt Vorwort 3 Voraussetzungen 3 Installation 3 Installieren der Datenbank 3 Updaten einer Datenbank von DOKLI 1.51 auf DOKLI 2.0 4 Installieren der Websoftware DOKLI

Mehr

Visual Basic.NET und ADO.NET

Visual Basic.NET und ADO.NET .NETSolutions Visual Basic.NET und ADO.NET Datenbanken programmieren F. SCOTT BARKER Markt+ Übersetzung: Gabriele Broszat Einleitung Zum Autor Zur Begleit-CD-ROM Wer sollte dieses Buch nutzen? Welche Themen

Mehr

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

Mehr

Installationsdokumentation INDART Professional

Installationsdokumentation INDART Professional Installationsdokumentation INDART Professional CONTECHNET Ltd. Mehrumer Str. 8 c + d 31319 Sehnde support@contechnet.de www.contechnet.de 2014 Inhalt Installation von INDART Professional Installation SQL

Mehr

Anleitung: Verbindung mit der Datenbank

Anleitung: Verbindung mit der Datenbank Anleitung: Verbindung mit der Datenbank Der Zugriff auf die MySQL-Datenbank selbst kann mit sämtlichen dafür erhältlichen Tools (Beispielsweise SquirrelSQL, Toad für MySQL, EMS SQL Manager, TOra oder ähnliches)

Mehr

Inhaltsverzeichnis ERWEITERUNG. 26. Januar 2014 RECORDTIME ENTERPRISE (LINUX) BENUTZERANLEITUNG-

Inhaltsverzeichnis ERWEITERUNG. 26. Januar 2014 RECORDTIME ENTERPRISE (LINUX) BENUTZERANLEITUNG- Inhaltsverzeichnis Installation... 2 Installation Microsoft SQL Server... 2 Installation Wine... 2 Installation FreeTDS und unixodbc... 2 Installation RecordTime... 3 Konfiguration... 3 Konfiguration Microsoft

Mehr

Installationsanleitung SQL-Server

Installationsanleitung SQL-Server Installationsanleitung SQL-Server Version: 06.11.2018 Technische Zusatzinformationen für Spezialisten Inhaltsverzeichnis IBF GmbH Installationsanleitung SQL-Server Seite 1 1. Kurzüberblick zur Verwendung

Mehr

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

SQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter SQLJ Standardisierte Java-DB DB-Schnittstelle Spezifikationen Part 0: Embedded SQL für Java (ANSI-Standard; Object Language Binding) Statische Einbettung von SQL-Anweisungen in Java-Quelltext Part 1: Java

Mehr

Der Einsatz von SELECT from INSERT auf dem System i

Der Einsatz von SELECT from INSERT auf dem System i Zwei Operationen werden zu einer neuen Funktion von Jinmei Shen und Karl Hanson INSERT und SELECT waren vor V6R1 in DB2 für i5/os zwei getrennte Operationen. Um eingefügte Spaltenwerte abzufragen, konnte

Mehr

INSTALLATIONSANLEITUNG der Version 2.6

INSTALLATIONSANLEITUNG der Version 2.6 ANHANG A INSTALLATIONSANLEITUNG der Version 2.6 Seite A2 1. Anhang A - Einleitung Bei der Installation wird zwischen Arbeitsplatzinstallation (Client) und Serverinstallation unterschieden. Die Serverinstallation

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

Wie kommen die Befehle zum DBMS

Wie kommen die Befehle zum DBMS Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS MySQL Workbench / HeidiSQL Kommandozeile Weitere?

Mehr

embedded SQL Embedded SQL wurde erstmals im SQL92- Standard definiert.

embedded SQL Embedded SQL wurde erstmals im SQL92- Standard definiert. embedded SQL Embedded SQL (abgekürzt: ESQL) ist eine Spracherweiterung von SQL, mit der es möglich ist, SQL-Anweisungen innerhalb einer strukturierten oder objektorientierten Programmiersprache (der Hostsprache)

Mehr

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

Ho Ngoc Duc IFIS - Universität zu Lübeck Ho Ngoc Duc IFIS - Universität zu Lübeck 16.04.2003 1 Standard für relationale DB: SQL Vor JDBC: Open Database Connectivity (ODBC), uniforme Schnittstelle für Zugriff JDBC: Programmierschnittstelle (Java-API)

Mehr

Datenbankadministration

Datenbankadministration Datenbankadministration 10. Monitoring AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009 Momentaufnahmen Momentaufnahmen

Mehr