Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können!
|
|
- Axel Beck
- vor 8 Jahren
- Abrufe
Transkript
1 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 und selbst Anfragen oder Manipulationsstatements zu formulieren) Es gibt zwei Ansätze: 1. SQL erweitern um prozedurale Sprachkonstrukte (siehe die Folien Prozedurales SQL) 2. bestehende 3GLs erweitern um die Möglichkeit, SQL Statements zu verarbeiten Ergebnis: Standard SQL-99 Call Level Interface und Realisierungen in C (ODBC), C++, Java (JDBC), etc.... 1
2 Datenbanken: Standard CLI und JDBC 2. Standard Erweiterung bestehender 3GL zur Verarbeitung von SQL. Der Standard SQL-99 beschreibt 2 Möglichkeiten der Erweiterung: 1. Embedded SQL 2. Call Level Interface CLI Bis in die 1990-er Jahre war Embedded SQL die am meisten verbreitete Technik zur Verarbeitung von SQL in 3GL. Inzwischen hat sich CLI als führende Technik durchgesetzt. 2
3 Beispiel (JDBC): Datenbanken: Standard CLI und JDBC import java.sql.*; import java.io.*; class Beispiel_JDBC { public static void main (String args [ ]) throws SQLException, ClassNotFoundException, IOException { // Laden des Oracle JDBC driver DriverManager.registerDriver ( new oracle.jdbc.driver.oracledriver() ); // Aufbau einer Verbindung: Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@ :1521:gbir", user, password); // Erzeugen eines selects, das alle Personendaten aus der Tabelle Personentab selektiert und ausgibt: String stmt1 = "select persnr, vorname, name, geschlecht from Personentab"; Statement s1 = conn.createstatement (); ResultSet rs1 = s1.executequery (stmt1); String jerg1 = new String(); while (rs1.next ()) { for (int i=1;i <= 4; i++) { jerg1 = jerg1 + rs1.getstring(i) + " "; System.out.println (jerg1); jerg1 = ""; s1.close(); rs1.close(); conn. commit(); 3
4 Datenbanken: Standard CLI und JDBC Unterschiede zwischen Embedded SQL und CLI: Embedded SQL: SQL-Statements werden direkt als 3GL-Code im Programmtext formuliert, zum Beispiel:... EXEC SQL insert into personentab values(111, Meier, Kurt );... Notwendig zur Verarbeitung ist dann ein Precompiler der 3GL! Standard Erweiterungen gibt es für Ada, C, COBOL, FORTRAN, MUMPS, Pascal und PL/I. CLI: Zur Verarbeitung von SQL-Statements wird eine Bibliothek des DBMS aufgerufen, die Statements sind dann Parameter dieses Calls! 4
5 Datenbanken: Standard CLI und JDBC Standard CLI Der Standard SQL-99 beschreibt 62 vorgeschriebene Funktionen, die in der entsprechenden 3GL-Bibliothek vorhanden sein müssen (Auszug siehe nächste Folie). Diese Funktionen sind jeweils einer der Kategorien env, dbc, stmt, Statement, Cursor, desc, Deferred Parameters, Diagnostic, General, Locator, Handles oder Catalog zugeordnet. Da kein Precompiler notwendig ist, müssen die zur Ausführung gedachten Statements erst zur Laufzeit definiert werden! (Dynamisches SQL) 5
6 Datenbanken: Standard CLI und JDBC Standard CLI Funktionen (Auswahl): 6
7 Datenbanken: Standard CLI und JDBC Standard CLI Die Kategorie dbc enthält die Funktionen zur grundsätzlichen Kommunikation mit einer Datenbank (session handling), insbesondere die Funktionen: SQLConnect Es wird eine SQL-Connection zur Datenbank erzeugt. Dabei werden als Parameter die notwendigen Informationen über Host, User, Password, etc mitgegeben. SQLDisconnect Die SQL-Session wird beendet. 7
8 Datenbanken: Standard CLI und JDBC Standard CLI Zur eigentlichen Verarbeitung von SQL-Statements stehen im Standard 4 Funktionen zur Verfügung (Kategorie Statement): SQLExecDirect Das SQL-Statement, das dieser Funktion als Parameter über geben wird, wird an das DBMS geschickt, auf Syntaxfehler überprüft, übersetzt und sofort ausgeführt SQLPrepare Das SQL-Statement, das dieser Funktion als Parameter über geben wird, wird an das DBMS geschickt, auf Syntax überprüft und übersetzt. SQLExecute Ein vorher präpariertes SQL-Statement wird ausgeführt. SQLEndTran Beendigung einer Transaktion mit commit oder rollback. 8
9 Datenbanken: Standard CLI und JDBC CLI Realisierungen Es gibt Hersteller-abhängige Realisierungen von CLI, d.h. APIs der Datenbankhersteller für ihre speziellen Datenbanken (z.b. das Oracle Call Interface (OCI) des Datenbankherstellers ORACLE für die 3GL C oder C++, oder das Package oracle.sql für Java) Vorteil: Das API ist optimiert für die Kommunikation mit dem DBMS (Performance, SQL-Sprachumfang) Nachteil: Mit dem API kann ausschließlich nur auf die eine Datenbank zugegriffen werden 9
10 Datenbanken: Standard CLI und JDBC CLI Realisierungen Es gibt Hersteller-unabhängige Realisierungen von CLI, z.b. ODBC (Open DataBase Connectivity) für C (Microsoft) oder JDBC (Java DataBase Connectivity) für Java (Sun) Vorteil: Das API kann benutzt werden, um in einer Applikation auf verschiedene DBMS zuzugreifen! Nachteil: Das API ist nicht bzgl. der Kommunikation mit einem DBMS optimiert (Performance, Sprachumfang). Um festzustellen, welche Funktionen implementiert sind und welches SQL-Sprachlevel (Core, Level1, Level2) unterstützt wird, gibt es die Standard-Funktionen SQLGetInfo und SQLGetFunctions der Kategorie 10 General.
11 Die Sprache Java wurde um das Package java.sql erweitert, das die notwendigen Klassen, Interfaces und Methoden enthält als Realisierungen von CLI. Mit diesem Datenbank-unabhängigen API kann auf alle Datenbanken zugegriffen werden, die ihrerseits eine Schnittstelle (Driver) anbieten zur Kommunikation mit dem API. Solche Driver-Pakete sind zum Beispiel die Jar-Dateien classes12.jar (Oracle), ojdbc6.jar (Oracle), jeweils zu finden im jdbc/lib-unterverzeichnis des Datenbanksystems, oder auch mysql-connector-java bin.jar (MySQL). 11
12 Eine Datenbank-Anwendung mit Java hat also grob die folgende Struktur: 12
13 Genauer: 13
14 Es gibt 4 Typen von Java Driver-Software zur Kommunikation mit einem Datenbanksystem: Typ 1 : (JDBC-ODBC-Bridge) Dieser Treiber greift auf einen bereits vorhandenen ODBC-Treiber zu. Damit kann ein Java Programm auf sämtliche ODBC- Datenbanken zugreifen. Der Typ 1-Treiber ist Plattform abhängig, da er zum gutem Teil aus C-Code besteht. Typ 2 : Dieser Treiber verlangt proprietären C-Treiber für das jeweilige DBMS und setzt eine JDBC-Schicht darüber. Ein Beispiel ist der JDBC OCI Treiber von ORACLE, der auf dem speziell für das ORACLE RDBMS entwickelten CLI OCI aufsetzt. Typ 3 : Dieser Treiber ist ein 100%-iger Java-Treiber, also Plattform unabhängig. Er kommuniziert nicht direkt mit dem DBMS, sondern über eine sogenannte Middleware (Applicationserver). Typ 4 : Ein reiner proprietärer 100%-iger Java-Treiber eines DBMS-Herstellers. ORACLE bietet einen solchen Treiber mit dem Namen JDBC THIN an! 14
15 Die zu benutzende Treiber-Software wird zum Beispiel mit der Methode registerdriver() der Klasse DriverManager des java.sql-package vom Javaprogramm geladen: Bzgl. Oracle: DriverManager.registerDriver( new oracle.jdbc.driver.oracledriver() ); Bzgl. PostgreSQL: DriverManager.registerDriver( new org.postgresql.driver() ); 15
16 Aufbau einer Verbindung: Bzgl. Oracle: String dburl = "jdbc:oracle:thin:@localhost:1521:gbir"; Connection conn = DriverManager.getConnection (dburl, user, password); Bzgl. PostgreSQL: String dburl = "jdbc:postgresql://localhost:5432/gbir"; Connection conn = DriverManager.getConnection (dburl, user, password); Anschließend kann mit den übrigen Klassen und Methoden des java.sql- Package eine Kommunikation mit einem DBMS gestartet werden. 16
17 What the java.sql Package Contains Making a connection with a data source DriverManager class Driver interface DriverPropertyInfo class Connection interface Sending SQL statements to a database Statement interface for sending basic SQL statements PreparedStatement interface for sending prepared statements or basic SQL statements (derived from Statement) CallableStatement interface for calling database stored procedures (derived from PreparedStatement) Retrieving and updating the results of a query ResultSet interface 17
18 Mapping an SQL value to the standard mapping in the Java programming language Array interface Blob interface Clob interface Date class Ref interface Struct interface Time class Timestamp class Types class Custom mapping an SQL user-defined type (UDT) to a class in the Java programming language SQLData interface SQLInput interface SQLOutput interface 18
19 Providing information about the database and the columns of a ResultSet object DatabaseMetaData interface ResultSetMetaData interface Throwing exceptions SQLException thrown by most methods when there is a problem accessing data and by some methods for other reasons SQLWarning thrown to indicate a warning DataTruncation thrown to indicate that data may have been truncated BatchUpdateException thrown to indicate that not all commands in a batch update executed successfully Providing security SQLPermission interface 19
20 Aufbau eines JDBC-Programms zur direkten Ausführung eines SQL-Statements: import java.sql.*; import java.io.*; class <Name> { public static void main (String args [ ]) throws SQLException, ClassNotFoundException, IOException { // Laden des Oracle JDBC driver DriverManager.registerDriver(new oracle.jdbc.driver.oracledriver()); // Aufbau einer Verbindung: Connection conn = DriverManager.getConnection (" jdbc:oracle:thin:@ :1521:gbir", user, password); // Aufbau und Ausführung eines SQL-statements String stmt1 = "SQL-statement"; Statement s1 = conn.createstatement (); ResultSet rs1 = s1.executequery (stmt1); // Behandlung der Ergebnismenge // Auflösung der Ressourcen und Schließen der Verbindung: s1.close(); rs1.close(); conn.commit(); //falls notwendig conn.close(); 20
21 Aufbau eines JDBC-Programms zur direkten Ausführung einer SQL-Query Behandlung möglicher Exceptions: import java.sql.*; import java.io.*; class Test { public static void main (String args [ ]) { try { // Laden des Oracle JDBC driver DriverManager.registerDriver(new oracle.jdbc.driver.oracledriver()); // Aufbau einer Verbindung: Connection conn = DriverManager.getConnection (" jdbc:oracle:thin:@ :1521:gbir", user, password); // Aufbau und Ausführung eines SQL-statements String stmt1 = "select persnr, name, ort from person natural join adresse where persnr = 4711"; Statement s1 = conn.createstatement (); ResultSet rs1 = s1.executequery (stmt1); // Behandlung der Ergebnismenge // Auflösung der Ressourcen und Schließen der Verbindung: s1.close(); rs1.close(); conn.commit(); //falls notwendig conn.close(); catch (Exception sqle) { sqle.printstacktrace(); 21
22 Aufbau eines JDBC-Programms zur präparierten Ausführung einer SQL-Query; import java.sql.*; import java.io.*; class Test { public static void main (String args [ ]) { try { // Laden des Oracle JDBC driver DriverManager.registerDriver(new oracle.jdbc.driver.oracledriver()); int ipersnr = 27; // Aufbau einer Verbindung: Connection conn = DriverManager.getConnection (" jdbc:oracle:thin:@ :1521:gbir", user, password); // Aufbau und Ausführung eines SQL-statements String stmt1 = select persnr, vorname, name from person where persnr =?"; PreparedStatement ps1 = conn.preparestatement (stmt1); ps1.setint(1, ipersnr); ResultSet rs1 = ps1.executequery(); // Behandlung der Ergebnismenge // Auflösung der Ressourcen und Schließen der Verbindung: ps1.close(); rs1.close(); conn.commit(); //falls notwendig conn.close(); catch (Exception sqle) {sqle.printstacktrace(); 22
23 Aufbau eines JDBC-Programms zur präparierten Ausführung eines update/insert/delete; import java.sql.*; import java.io.*; class Test { public static void main (String args [ ]) { int ipersnr = 27; String iname = "Nas"; String ivorname = "Ana"; try { // Laden des Oracle JDBC driver DriverManager.registerDriver(new oracle.jdbc.driver.oracledriver()); // Aufbau einer Verbindung: Connection conn = DriverManager.getConnection (" jdbc:oracle:thin:@ :1521:gbir", user, password); // Aufbau und Ausführung eines SQL-statements String stmt1 = update person set name =?, vorname =? where persnr =?"; PreparedStatement ps1 = conn.preparestatement (stmt1); ps1.setstring(1,iname); ps1.setstring(2, ivorname); ps1.setint(3, ipersnr); int x = ps1.executeupdate();... // Auflösung der Ressourcen und Schließen der Verbindung: ps1.close(); rs1.close(); conn.commit(); //falls notwendig conn.close(); catch (Exception sqle) {sqle.printstacktrace(); 23
24 Aufbau eines JDBC-Programms zur präparierten Ausführung eines update/insert/delete; import java.sql.*; import java.io.*; class Test { public static void main (String args [ ]) { int ipersnr = 27; String iname = "Nas"; String ivorname = "Ana"; java.sql.date igebdat=" "; try { // Laden des Oracle JDBC driver DriverManager.registerDriver(new oracle.jdbc.driver.oracledriver()); // Aufbau einer Verbindung: Connection conn = DriverManager.getConnection (" jdbc:oracle:thin:@ :1521:gbir", user, password); // Aufbau und Ausführung eines SQL-statements String stmt1 = insert into person(persnr, vorname, name, gebdat) values(?,?,?,?)"; PreparedStatement ps1 = conn.preparestatement (stmt1); ps1.setint(1,ipersnr); ps1.setstring(2, ivorname); ps1.setstring(3, iname); ps1.setdate(4, igebdat); int x = ps1.executeupdate (); // Auflösung der Ressourcen und Schließen der Verbindung: ps1.close(); rs1.close(); conn.commit(); //falls notwendig conn.close(); catch (Exception sqle) {sqle.printstacktrace(); 24
25 Aufbau eines JDBC-Programms zum Aufruf einer stored procedure; import java.sql.*; import java.io.*; class Test { public static void main (String args [ ]) { try { // Laden des Oracle JDBC driver DriverManager.registerDriver(new oracle.jdbc.driver.oracledriver()); // Aufbau einer Verbindung: Connection conn = DriverManager.getConnection (" jdbc:oracle:thin:@ :1521:gbir", user, password); // Aufruf der stored procedure getfavorits() CallableStatement cs = conn.preparecall("{call getfavorits(?,?,?)"); cs.setstring(1,geschl); cs.setstring(2,gebdat); cs.setstring(3,kennzahl); cs.execute(); // Auflösung der Ressourcen und Schließen der Verbindung: cs.close(); conn.commit(); //falls notwendig conn.close(); catch (Exception sqle) {sqle.printstacktrace(); 25
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
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
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
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
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
MehrUniversität Stuttgart Abteilung Anwendersoftware 01.07.2002. - Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures
SQLJ Basics Universität Stuttgart Abteilung Anwendersoftware 01.07.2002 Was ist SQLJ? SQLJ Part 0: - Steht für Embedded SQL in Java SQLJ Part 1: - Java-Methoden als SQL Stored-Procedures SQLJ Part 2: -
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
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......................
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
MehrJDBC. Java DataBase Connectivity
JDBC Java DataBase Connectivity JDBC-Schichten JDBC besteht aus 2 Teilen, 1. aus Datenbanktreibern, die den Anschluß von Java-Anwendungen an Datenbanksysteme wie Sybase, DB/2, Oracle, MS ACCESS oder Mini
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
Mehr3. Stored Procedures und PL/SQL
3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln
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
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
MehrDynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
Mehrmywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger
mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger Grundlegendes Oracle9i PostgreSQL Prevayler Memory mywms bietet umfangreiche Konfigurationsmöglichkeiten um die Daten dauerhaft zu speichern.
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
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
MehrProzedurale Datenbank- Anwendungsprogrammierung
Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.
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 //
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
Mehr2. Datenbank-Programmierung
2. Datenbank-Programmierung SQL ist eingeschränkt bezüglich der algorithmischen Mächtigkeit, z.b. Berechnung einer transitiven Hülle ist in Standard-SQL nicht möglich. Die Einschränkung ist von Bedeutung
MehrArchitekturen. 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
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?
MehrSQL (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
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
MehrFolgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133.
Page 1 of 7 Betrifft: Java oder PL/SQL? Art der Info: Technische Background Info Autor: Guido Schmutz (guido.schmutz@trivadis.com) Quelle: Aus unserer Schulungs- und Beratungstätigkeit Mit Oracle8.1 besteht
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
MehrDatenbankanwendungen (JDBC)
Datenbankanwendungen (JDBC) Hierarchie: Connection Transaction Statement Connection Aufbau (klassisch): Registrierung des JDBC Driver beim DriverManager: Class.forName(JDBC Driver); Eigentlicher Verbindungsaufbau
MehrSQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter
SQLJ Standardisierte Java-DB DB-Schnittstelle Spezifikationen Part 0: Embedded SQL für Java (ANSI-Standard; Object Language Binding) Statische Einbettung von SQL-Anweisungen in Java-Quelltext Part 1: Java
MehrVon 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
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrInformatik 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
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)
MehrOracle & Java HOW TO
Oracle & Java HOW TO Helge Janicke, Niels-Peter de Witt, Karsten Wolke 21. Januar 2002 Inhaltsverzeichnis 1 Java-Anbindung an Oracle-DB 2 2 Benötigte Programme und Daten 2 3 Einbinden der Klassen 2 4 Aufbau
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-
Mehr1a) 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
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
MehrInteraktive 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 /
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
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
MehrGesicherte Prozeduren
Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.
MehrClient/Server-Programmierung
Client/Server-Programmierung WS 2017/2018 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 14. September 2017 Betriebssysteme / verteilte
MehrDatenbanken SQL JDBC. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 21
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 21 Datenbanken SQL JDBC 2 / 21 Relationale Datenbanken Ein Datenbanksystem ist ein System zur Speicherung von (großen) Datenmengen:
MehrAnleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken
Betriebliche Datenverarbeitung Wirtschaftswissenschaften AnleitungzurEinrichtungeinerODBC VerbindungzudenÜbungsdatenbanken 0.Voraussetzung Diese Anleitung beschreibt das Vorgehen für alle gängigen Windows
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
MehrSQL. Fortgeschrittene Konzepte Auszug
SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt
MehrGliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions
try-catch Schlüsselworte try-catch e Schlüsselwort Schlüsselwort selbst erstellte ermöglichen die Behandlung von Fehlern, die zur Laufzeit entstehen. try-catch in C: Fehler führt immer zum Abbruch des
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
MehrWeb Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen
9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.
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 MySQL Workbench / HeidiSQL Kommandozeile Weitere?
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrDas erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
MehrWillkommen. Datenbanken und Anbindung
Willkommen Datenbanken und Anbindung Welche stehen zur Wahl? MySQL Sehr weit verbreitetes DBS (YT, FB, Twitter) Open-Source und Enterprise-Version Libs in C/C++ und Java verfügbar Grundsätzlich ist ein
MehrZugriff auf Firebird-Datenbanken mit PHP. Daniel de West DB-Campus-Treffen 15. Januar 2004
Zugriff auf Firebird-Datenbanken mit PHP Daniel de West DB-Campus-Treffen 15. Januar 2004 Inhalt PHP und Firebird Die wichtigsten Befehle Verbindungsaufbau Übermitteln von Abfragen Beenden von Verbindungen
MehrHochschule Karlsruhe Technik und Wirtschaft
Hochschule Karlsruhe Technik und Wirtschaft Sommersemester 2009 Seite 1/12 Fakultät: Fakultät für Informatik und Wirtschaftsinformatik Semester: BC3 D4 Prüfungsfach: Datenbanken I Fachnummer: I 3B71 I
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrUniversität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7 Aufgabe 2 + 3: Datenbanksysteme I import java.sql.*; import oracle.jdbc.driver.*;
MehrUnsere Webapplikation erweitern
Unsere Webapplikation erweitern Um die Webapplikation zu benutzen: 1. Starten Sie den Server, indem Sie das Hauptprogramm in der Klasse ImdbServer starten. 2. Laden Sie im Browser die Seite http://localhost:8080/html/index.html.
Mehrdesk.modul : WaWi- Export
desk.modul : WaWi- Export Die Schnittstelle besteht aus einem Programm, welches die Daten aus der OfficeLine ausliest und in eine XML-Datei exportiert. Die Schnittstelle ist als ein eigenständiges Programm
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)
MehrLehrveranstaltung Grundlagen von Datenbanken
Verbindungsanleitung mit der Datenbank Um sich mit der Datenbank für die Übung zu verbinden, gibt es mehrere Möglichkeiten. Zum einen ist die Datenbank aus dem Netz des Informatikums direkt erreichbar.
MehrJava Database Connectivity-API (JDBC)
Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist Herstellerabhängig
MehrEinführung in JDBC. IFIS Universität zu Lübeck 18.04.2007
Einführung in JDBC IFIS Universität zu Lübeck 18.04.2007 1 Was ist JDBC Standard für relationale DB: SQL Vor JDBC: Open Database Connectivity (ODBC), uniforme Schnittstelle für Zugriff JDBC: Programmierschnittstelle
MehrÜbungsblatt 3: Algorithmen in Java & Grammatiken
Humboldt-Universität zu Berlin Grundlagen der Programmierung (Vorlesung von Prof. Bothe) Institut für Informatik WS 15/16 Übungsblatt 3: Algorithmen in Java & Grammatiken Abgabe: bis 9:00 Uhr am 30.11.2015
MehrDatenbanktechnologie mit praktischen Übungen in MySQL und PHP
Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 22. April 2013 - MySQL Sebastian Cuy sebastian.cuy@uni-koeln.de Datenbanken Was sind eigentlich Datenbanken? Eine
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
Mehrphp Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...
php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.
MehrSoftwareentwicklung mit JAVA EE
Softwareentwicklung mit JAVA EE Grundlagen: Datenbankprogrammierung Literatur T. Kudraß (Hrsg.): Taschenbuch Datenbanken, Hanser, 2007 DB-Programmierung-2 Einbettungstechniken Einbettung in 3GL Embedded
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.
MehrDB2 Kurzeinführung (Windows)
DB2 Kurzeinführung (Windows) Michaelsen c 25. Mai 2010 1 1 Komponenten von DB2 DB2 bietet zahlreiche graphische Oberflächen für die Verwaltung der verschiedenen Komponenten und Anwendungen. Die wichtigsten
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
MehrDipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009
Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger
MehrÜ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)
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrVerteidigung 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
MehrDatenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape. 6. Übung
Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape 6. Übung Aufgabe 1: In dieser Übung sollen Sie eine kleine Java-Anwendung schreiben, die auf die Oracle-Datenbank
MehrKapitel 10: Datenbankzugriff & Pufferung 2
Kap. 10 Datenbankzugriff und Pufferung 10.1 Datenbankzugriff in ERP-Systemen 10.2 Pufferung auf Anwendungsebene 10.3 Workshop: ABAP-Programmierung in SAP R/3 Open SQL Native SQL Kapitel 10: Datenbankzugriff
MehrMySQL Installation. AnPr
Name Klasse Datum 1 Allgemeiner Aufbau Relationale Datenbank Management Systeme (RDBMS) werden im Regelfall als Service installiert. Der Zugriff kann über mehrere Kanäle durchgeführt werden, wobei im Regelfall
MehrDatenbankschnittstellen erlauben Zugriff auf Datenbank aus einer externen Anwendung
Rückblick Datenbankschnittstellen erlauben Zugriff auf Datenbank aus einer externen Anwendung Portabilität als wichtige Anforderung, d.h. RDBMS oder Programmiersprache soll leicht austauschbar sein Call-Level
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrRemote Method Invocation
Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem
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
MehrKommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis
Kommunikationsübersicht Inhaltsverzeichnis Kommunikation bei Einsatz eines MasterServer... 2 Installation im... 2 Installation in der... 3 Kommunikation bei Einsatz eines MasterServer und FrontendServer...
MehrDatabase Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695
Database Exchange Manager Replication Service- schematische Darstellung Replication Service- allgemeines Replikation von Daten von bzw. in ein SAP-System und einer relationalen DMS-Datenbank Kombination
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
MehrWhite Paper. Konfiguration und Verwendung des Auditlogs. 2012 Winter Release
White Paper Konfiguration und Verwendung des Auditlogs 2012 Winter Release Copyright Fabasoft R&D GmbH, A-4020 Linz, 2011. Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2
Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Zur Erinnerung: Aufteilung der Schichten GUI Vorlesung 17: 3-Schichten-Architektur 2 Fachkonzept Fachkonzept - Datenhaltung Datenhaltung
MehrPowermanager Server- Client- Installation
Client A Server Client B Die Server- Client- Funktion ermöglicht es ein zentrales Powermanager Projekt von verschiedenen Client Rechnern aus zu bedienen. 1.0 Benötigte Voraussetzungen 1.1 Sowohl am Server
MehrHow to install freesshd
Enthaltene Funktionen - Installation - Benutzer anlegen - Verbindung testen How to install freesshd 1. Installation von freesshd - Falls noch nicht vorhanden, können Sie das Freeware Programm unter folgendem
MehrJava: MySQL-Anbindung mit JDBC.
Java: MySQL-Anbindung mit JDBC Vorarbeiten Wir brauchen: - MySQL-Server - JDBC-Treiber - (Import java.sql.*) Vorarbeiten MySQL-Server in unserem Falle: WAMP (= Apache) (runterladen, installieren, starten)
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
MehrÜbersicht über Datenbanken
Übersicht über Datenbanken Vergleich zwischen normaler Datenorganisation und Datenbanken Definition einer Datenbank Beispiel (inkl. Zugriff) Der Datenbankadministrator Relationale Datenbanken Transaktionen
MehrEinbindung einer ACT!12-16 Datenbank als Datenquelle für den Bulkmailer 2012
Einbindung einer ACT!12-16 Datenbank als Datenquelle für den Bulkmailer 2012 Eine langvermisste Funktion ist mit den neuesten Versionen von ACT! und Bulkmailer wieder verfügbar. Mit dem Erscheinen der
MehrProblemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.
Universität Osnabrück 1 Problemstellung 3 - Objektorientierte Programmierung in Java Vorlesung 24: Reflection 1 SS 2006 Prof. Dr. Frank M. Thiesing, FH Osnabrück Um ein Objekt anzulegen, eine seiner Methoden
MehrLINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering
LINQ to SQL Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel Institut für Informatik Software & Systems Engineering Agenda 1. LINQ allgemein Vorteile Bausteine und Varianten
Mehr