8. ADO.NET und PHP. Datenbankprogrammierung

Größe: px
Ab Seite anzeigen:

Download "8. ADO.NET und PHP. Datenbankprogrammierung"

Transkript

1 8. ADO.NET und PHP Datenbankprogrammierung

2 .NET-Framework.NET FRAMEWORK Von Microsoft initiierte Software-Plattform Hauptsprache C# Laufzeitumgebung auf Basis von Byte-Code Starke Integration mit Microsoft-Produkten (OS, Datenbanken, etc.) ADO.NET KOMPONENTE FÜR DATENZUGRIFF ermöglicht Kommunikation zwischen.net-anwendungen und Datenbanken unabhängig von verwendeter Datenquelle (ab.net 2.0) Datenbankverbindung aufbauen SQL-Anweisungen absetzen Ergebnisse bearbeiten Metadaten ermitteln 2

3 ADO.NET-Architektur

4 ADO.NET-Architektur Übersetzung von.net-aufrufen in spezifisches Datenbankprotokoll à 3 Typen Connected Model Disconnected Model Pakete: System.Data IBM.Data.DB2 Quelle: 4

5 Typen von.net Data Providern OLE DB / ODBC.NET DATA PROVIDER übersetzt ADO.NET-Aufrufe in OLE DB / ODBC-Aufrufe (Bridge) mit fast allen Datenbanksystemen verwendbar Datenbankbibliothek auf Client erforderlich Langsam, nicht volle Funktionalität im Vergleich zu DB2.NET Data Provider DB2.NET DATA PROVIDER Native ADO.NET-Implementierung der DB2- Protokolle Hohe Performance des Treiber und vollständige Funktionalität der ADO.NET Schnittstelle Voraussetzung für DB2: -.NET Framework >= Net 2.0 seit Windows Vista Standard - Windows 7:.Net 2.0, 3.0 und 3.5 integriert (aktuell v4.5) - Windows 8:.Net Visual Studio >= 2005 Muss installiert werden!! 5

6 .NET-Datenbank-API

7 ADO.NET Unterschiede 1.1<-> 2.0 ADO.NET API (.NET 1.1) Nur.NET Interfaces für datenbank-spezifische Objekte Instanziierung von implementierenden Klassen durch <interface> iexample = new <konkrete Klasse> - Beispiel: IDbConnection con = new DB2Connection( ) ADO.NET 2.0 API (.NET 2.0) Generische Datenbankprogrammierung durch: - Abstrakte Basis-Klassen in System.Data.Common - Factory-Klassen zur Erstellung DB-spezifischer Implementierungsklassen der abstrakten Basisklassen (ähnlich JDBC) IM WEITEREN: DB2-SPEZIFISCHE DATENBANK-KLASSEN Unterschiedliche Treiber für.net 1.1 bzw..net 2.0 Implementieren Schnittstellen (1.1) bzw. abstrakte Klassen (2.0) DB2-Klassen-API in.net 1.1 und.net 2.0 gleich 7

8 ADO.NET API PAKETE System.Data: serverseitiger Datenzugriff System.Data.Common: Basisklassen für Datenbankzugriffe (.NET 2.0) IBM.Data.DB2: DB2-spezifische Zugriffsklassen WICHTIGE KLASSEN/INTERFACES DB2Connection: Verbindung zu einer Datenquelle DB2Command: Abarbeiten von SQL-Anweisungen DB2DataReader: Abfrage von Ergebnissen (Connected) DataSet: Abfrage von Ergebnissen (Disconnected) DB2DataAdapter: Füllen und Modifizieren von DataSets DB2Exception: Informationen im Fehlerfall DB2Transaction: Commit/Rollback von initiierten Transaktionen 8

9 DB2Connection-Objekt WICHTIGE METHODEN DER DB2CONNECTION-KLASSE void Open() - Öffnen einer Datenbank-Verbindung void Close() - Schließen einer bereits geöffnetetn Datenbank-Verbindung DB2Command CreateCommand() - Erzeugen eines Command-Objekts zur Ausführung von SQL-Anweisungen DB2Transaction BeginTransaction(IsolationLevel ilevel) - Erzeugen eines Transaktionsobjektes und Starten der Transaktion im angegebenen Isolationslevel 9

10 Verbindungsaufbau VERBINDUNG über Objekt DB2Connection (hier) oder DbProviderFactories (ADO.NET 2.0) Aufbau // Verbindung aufbauen DB2Connection con = new DB2Connection(<connectionString>); con.open(); // Verbindung schließen con.close(); CONNECTION STRING beschreibt Verbindungsinformationen Native.NET-Treiber der verschiedenen DB-Systeme unterscheiden sich in Notation - ODBC/OleDB.NET siehe - DB2.NET: Server=<server>:<port>;UID=<username>; PWD=<password>; Database=<dbname>;... 10

11 Beispiel DB2Connection BEISPIEL TRY { //VERBINDUNGSAUFBAU DB2CONNECTION CON = NEW DB2CONNECTION( "SERVER= :60XXX;UID=DB2INSXX;PWD=*****;DATABASE=SAMPLE"); CON.OPEN(); //AUSGABE CONSOLE.WRITELINE("DATENBANKSYSTEM: " + CON.SERVERTYPE); CONSOLE.WRITELINE("VERSION : " + CON.SERVERMAJORVERSION + "." + CON.SERVERMINORVERSION); //VERBINDUNGSABBAU CON.CLOSE(); } CATCH (DB2EXCEPTION) { CONSOLE.ERROR.WRITELINE("ERROR CONNECTING TO DATABASE."); } AUSGABE DATENBANKSYSTEM: DB2/LINUX VERSION :

12 DB2Command-Objekt DB2COMMAND-OBJEKT Ausführen eines Statements & Abfragen des Ergebnis erzeugt mittels <DB2Connection>.CreateCommand() Ergebnis(se): Änderungszähler oder DB2DataReader-Objekt (auch: DB2ResultSet) WICHTIGE METHODEN DB2DataReader executereader() - Ausführen einer DQL-Anweisung int executenonquery() - Ausführung einer DDL/DML/DCL-Anweisung int executescalar() - Ausführen einer DQL-Anweisung und Rückgabe erste Zeile, erste Spalte WICHTIGE VARIABLEN <DB2Command>.CommandText = <SQL- Aneisung> - Lesen/Setzen der SQL-Anweisung <DB2Command>.CommandType = <CommandType> - Lesen/Setzen der Kommandoart (Text TableDirect StoredProcedure) <DB2Command>.Transaction = <DB2Transaction> - Lesen/Setzten des Transaktionsobjektes 12

13 DB2DataReader-Objekt DB2DATAREADER-OBJEKT repräsentiert Anfrageergebnis (Tabelle) Grundprinzip: Cursor - Zugriff nur auf aktuelle Zeile - boolean Read() positioniert Cursor auf nächste Zeile ermittelt ob weitere Tupel verfügbar explizites Schließen notwendig (mit Close()) forward only: sequentielle Abarbeitung boolean NextResult() - Setzt Objekt-Instanz auf nächste Ergebnismenge (falls vorhanden) WICHTIGE VARIABLEN <DB2DataReader>.FieldCount - liefert Anzahl der Spalten einer Zeile WICHTIGE METHODEN Get*(int) - liefert Wert eines Attributes (0-basierter Index) - Alternativ <DB2DataReader>["<ColumnName>"] 13

14 Beispiel DB2DataReader BEISPIEL DB2COMMAND CMD = CON.CREATECOMMAND(); CMD.COMMANDTEXT = "SELECT LASTNAME FROM EMPLOYEE"; DB2DATAREADER READER = CMD.EXECUTEREADER(); WHILE (READER.READ()) { CONSOLE.OUT.WRITE(READER.GETSTRING(0) + "; "); } READER.CLOSE(); ALTERNATIVER ZUGRIFF CONSOLE.OUT.WRITE(READER["LASTNAME"] + "; "); AUSGABE HAAS; THOMPSON; KWAN; GEYER; STERN; PULASKI; HENDERSON; SPENSER; LUCCHESSI; O'CONNELL; QUINTANA; NICHOLLS; ADAMSON; PIANKA; YOSHIMURA;... 14

15 Vorkompilierte SQL-Anweisungen VORKOMPILIERTE SQL-ANWEISUNGEN Kompilierung kostet Zeit Idee: oft verwendete Anweisungen nur einmal kompilieren Vorkompilieren durch Methode <DB2Command>.prepare() parametrierbar mittels? (Effizienzprobleme bei hohem Skew, siehe Vorlesung Stored Procedures) SETZEN DER PARAMETERMARKER (?) Zuordnung Parametermarker zu Parameter - <DB2Command>.Parameters.Add( "<String uid>", DB2Type type, int size); - Alternativ DB2Parameter-Objekt - Wichtig: Reihenfolge des Aufrufes entscheidet Zuordnung zu Parametermarker Setzen des Wertes - <DB2Command>.Parameters["<String uid>"].value = <Wert>; 15

16 Beispiel vorkompilierte SQL-Anweisung BEISPIEL DB2COMMAND CMD = CON.CREATECOMMAND(); CMD.COMMANDTEXT = "SELECT SALARY FROM EMPLOYEE WHERE LASTNAME=?"; CMD.PREPARE(); CMD.PARAMETERS.ADD("LNAME", DB2TYPE.VARCHAR, 25); //ALTERNATIV //-> CMD.PARAMETERS.ADD(NEW DB2PARAMETER(...)) CMD.PARAMETERS["LNAME"].VALUE = "HAAS"; DB2DATAREADER DR = CMD.EXECUTEREADER(); DR.READ(); CONSOLE.WRITELINE(DR.GETDECIMAL(0)); DR.CLOSE(); AUSGABE

17 Aufruf von SPs mit DB2Command AUFRUF VON STORED PROCEDURES MIT DB2COMMAND-OBJEKT Setzten der Variable CommandType auf Stored Procedure <DB2CommandObject>.CommandType = CommandType.StoredProcedure SQL-Anweisung entspricht Name der Stored Procedure Ausgabeparameter müssen gesetzt werden SETZEN DER PARAMETER siehe vorkompilierte Statements (Parameters.Add() ) Mögliche Parameterrichtungen: IN, OUT, INOUT (Siehe Vorlesung StoredProcedures) Standardmäßig auf IN gesetzt Setzten der Parameterrichtung: Parameters[ ].Direction = <ParameterDirection> 17

18 Beispiel Stored Procedures GET_TABLE(IN TABLENAME VARCHAR(32), OUT SQL VARCHAR(128)); Stored Procedure: liefert Inhalteiner Relation sowie SELECT-Anweisung DB2COMMAND SPCMD = CON.CREATECOMMAND(); SPCMD.COMMANDTEXT = "GET_TABLE"; SPCMD.COMMANDTYPE = COMMANDTYPE.STOREDPROCEDURE; SPCMD.PARAMETERS.ADD("IN_TABLE", DB2TYPE.VARCHAR).VALUE = "NATION"; SPCMD.PARAMETERS.ADD("OUT_SQL", DB2TYPE.VARCHAR).DIRECTION = PARAMETERDIRECTION.OUTPUT; DB2DATAREADER DR = SPCMD.EXECUTEREADER(); CONSOLE.OUT.WRITELINE("PARAMETER 2 (SQL): " + SPCMD.PARAMETERS["OUT_SQL"].VALUE); CONSOLE.OUT.WRITELINE("RESULTSET (N_NAME COLUMN): "); WHILE (DR.READ()) { CONSOLE.OUT.WRITE(DR["N_NAME"] + " "); } DR.CLOSE(); AUSGABE PARAMETER 2 (SQL): SELECT * FROM NATION RESULTSET (N_NAME COLUMN): ALGERIA ARGENTINA BRAZIL CANADA 18

19 ADO.NET-Architektur Connected Model Disconnected Model Quelle: 19

20 DataSet-Objekt DATASET-OBJEKT Vergleichbar mit Service Data Objects (SDO) repräsentiert Anfrageergebnis (Tabelle) in Hauptspeicher Hierarchische Struktur direkt in XML serialisierbar Versionierung der Tupel Füllen des DataSets durch DB2DataAdapter Wahlfreier Zugriff WICHTIGE METHODEN DataSet GetChanges() - DataSet, in denen nur geänderte Tupel enhalten sind void AcceptChanges() - Festschreiben der Änderungen im Speicher WICHTIGE VARIABLEN Tables[<tablename>] - Zugriff auf gespeicherte Relation in DataSet 20

21 DB2DataAdapter-Objekt DB2DATAADAPTER-OBJEKT Kommunikation zwischen DataSet und Datenquelle Nutzt DB2DataReader zur Kommunikation Wird vom.net Data Provider bereitgestellt WICHTIGE METHODEN Fill(...) - Befüllen des DataSets [Insert Update Delete]() - Ausführen der Manipulation im DataSet auf der Ursprungsdatenquelle WICHTIGE VARIABLEN [Select Insert Update Delete]Comma nd - DB2Command-Objekt mit DQL/DML-Anweisung zu o.g. Methoden DB2COMMANDBUILDER HelperKlasse zur automatischen Generierung der Insert Update Delete-Statements (Optimistic Locking) 21

22 Beispiel DataSet BEISPIEL DATASET DATASET = NEW DATASET(); DB2DATAADAPTER DA = NEW DB2DATAADAPTER("SELECT EMPNO, LASTNAME FROM EMPLOYEE", CON); DB2COMMANDBUILDER CB = NEW DB2COMMANDBUILDER(DA); DA.FILL(DATASET, "EMP_TABLE"); DATAROW ROW = DATASET.TABLES["EMP_TABLE"].ROWS[0]; ROW["LASTNAME"] = "MILLER"; DA.UPDATE(DATASET, "EMP_TABLE"); DURCH DB2COMMANDBUILDER GENERIERTESUPDATE-STATEMENT UPDATE DB2INS50.EMPLOYEE SET EMPNO =?, LASTNAME =? WHERE ( (EMPNO =?) AND (LASTNAME =?) ) 22

23 .NET-Protokollierung DB2.NET-PROTOKOLLIERUNG mittels DB2 ADO.NET trace facility Ausgabe aller DB2*-Aufrufe Aktivieren: setzen der Umgebungsvariablen - SET DB2NMPTRACE = 1 Starten des kompilierten Programms erheblicher Performance-Einfluss à Deaktivieren falls nicht notwendig 23

24 .NET trace BEISPIELAUSGABE DB2CONNECTION.OPEN FNC EXIT, RC = 0 DB2CONNECTION.CREATECOMMAND FNC ENTRY DB2COMMAND.DB2COMMAND2 FNC ENTRY DB2COMMAND.COMMANDTEXT.SET FNC ENTRY1 - DB2COMMAND.COMMANDTEXT.SET FNC EXIT, RC = 0 DB2COMMAND.COMMANDTEXT.GET FNC ENTRY DB2COMMAND.COMMANDTEXT.GET FNC EXIT, RC = 0 DB2COMMAND.DB2COMMAND2 FNC EXIT1, RC = 0 - DB2CONNECTION.CREATECOMMAND FNC EXIT, RC = 0 DB2COMMAND.COMMANDTEXT.SET FNC ENTRY1 - SELECT LASTNAME FROM EMPLOYEE DB2COMMAND.COMMANDTEXT.SET FNC EXIT, RC = 0 DB2PERMISSION.ISSUBSETOF FNC ENTRY DB2COMMAND.EXECUTEREADER2 FNC ENTRY1 - BEHAVIOR = DEFAULT; METHOD = EXECUTEREADER DB2CONNECTION.GETLATCH FNC ENTRY DB2CONNECTION.GETLATCH FNC DATA 10: DB2COMMAND.EXECUTEREADEROBJECT DB2CONNECTION.GETLATCH FNC EXIT, RC = 0 DB2DATAWRAPPER.DB2DATAWRAPPER FNC ENTRY1-0 DB2DATAWRAPPER.DB2DATAWRAPPER FNC EXIT, RC = 0 DB2DATAWRAPPER.DB2DATAWRAPPER FNC ENTRY1-1 DB2DATAWRAPPER.DB2DATAWRAPPER FNC EXIT, RC = 0 DB2DATAWRAPPER.DB2DATAWRAPPER FNC ENTRY1-2 DB2DATAWRAPPER.DB2DATAWRAPPER FNC EXIT, RC = 0 DB2DATAWRAPPER.DB2DATAWRAPPER FNC ENTRY1-3 DB2DATAWRAPPER.DB2DATAWRAPPER FNC EXIT, RC = 0 24

25 .NET-Entwicklung mit Visual Studio 2010

26 .NET-Entwicklung mit Visual Studio DB2 CLIENT MUSS INSTALLIERT SEIN Siehe: Z.B. IBM Data Server Driver for ODBC, CLI,.NET and Open Source Im Raum E040 ist alles nötige installiert - Alle Programme müssen lokal kompiliert und ausgeführt werden - Z.B. c:\allusers (nicht h:\!!!) Treiber: VISUAL STUDIO 2010 unterstützt Entwicklung von.net-programmen Verwendet spezielles von IBM mitgeliefertes Plugin für DB2-Datenbankentwicklung Plugin nicht installiert, aber auch nicht notwendig 26

27 .NET-Entwicklung mit Visual Studio SCHRITTE ZUM ERSTELLEN VON DB2 ADO.NET-ANWENDUNGEN (VS 2012) Neues Projekt > Visual C#-Projekte > Konsolenanwendung DB2 Bibliotheken einbinden Rechtsklick auf Verweise im Projektmappen-Explorer (rechts) Verweise hinzufügen Erweiterungen> IBM.Data.DB2 Häkchen setzen OK 27

28 8. ADO.NET und PHP Datenbankprogrammierung

29 PHP PHP (HYPERTEXT PREPROCESSOR) Serverseitige Skriptsprache (im Gegensatz zu JavaScript) Hauptanwendungsgebiet: dynamisch generierte Webseiten und Webanwendungen - Eingebettet in HTML - Verfügbarkeit für fast alle Betriebssysteme - Breite Datenbankunterstützung - Alle gängigen Webserver werden unterstützt Großer Funktionsumfang, nicht nur Textausgabe - Parsen von XML, Dynamische Generierung von PDFs, Bearbeiten von Bildern, Aktuelle Version: (29. Mai 2014) Einfaches Beispiel: <html> <?php echo "<p>hallo Welt</p>";?> </html> 29

30 Funktionsweise FUNKTIONSWEISE Client fragt dynamische PHP-Seite via Internet an Webserver reicht Anfrage an Interpreter weiter Interpreter parst PHP-Skript Ausgabe wird auf Basis des Skriptes erstellt Skriptausgabe (meist HTML) wird zur Anzeige an den Client geliefert Server Internet Client Interpreter bekommt PHP- Quellcode und erzeugt Ausgabe 30

31 PHP-Syntax

32 PHP-Syntax PHP-TAG <?php PHP-Code?> Kann an jeder Stelle in einer Webseite eingesetzt werden VARIABLEN Zuweisung: $name = "Wolle Petry"; Ausgabe: echo "Mein Name ist $name"; Text anhängen: $name.= " Superstar"; Zahlen: $zahl1 = 4; $zahl2 = 8; Rechnen: echo zahl1 + zahl2; VARIABLENÜBERGABE POST vs. GET 32

33 Variablenübergabe 2 MÖGLICHKEITEN POST und GET POST sendet Daten an eine Ressource GET lädt Daten aus einer Ressource (meist URI) <FORM ACTION="MY.PHP" METHOD="POST"> IHR VORNAME: <INPUT TYPE="TEXT" NAME="VORNAME"> <INPUT TYPE="SUBMIT" VALUE="ABSENDEN"> </FORM> VARIABLENZUGRIFF $vorname = $_POST['vorname']; $vorname = $_GET['vorname']; (URL: /my.php?vorname=hans) Wenn mehrere Variablen in URL, dann Trennzeichen & zwischen den Variablen 33

34 DB2 und PHP

35 DB2 Connectivity 2 MÖGLICHKEITEN DER PHP-ERWEITERUNG ibm_db2 (prozedurale API) à hier verwendet m.swg.im.dbclient.php.doc/doc/c html pdo_ibm (PHP Data Objects objektorientierte API) und Verfügbar in der PHP Extension Community Library (PECL) BEISPIEL $conn = db2_connect("sample", "db2insxx", ""); if ($conn) { echo "connection succeeded"; db2_close($conn); } else { echo "connection failed"; } LOKALES VERBINDEN db2_connect($database, $user, $password); db2_pconnect($database, $user, $password); 35

36 Nicht katalogisierte Datenbanken VERBINDEN ZU ENTFERNTEN DATENBANKEN Erweiterung des Connection-Strings auf: DRIVER={IBM DB2 ODBC DRIVER};DATAB ASE=database; HOSTNAME=hostname;PORT=port;PROTOC OL=TCPIP; UID=username;PWD=password; BEISPIEL: $conn = db2_connect($connstring, '', ''); connect.php DRIVER = {IBM DB2 ODBC DRIVER} DATABASE = Datenbanknamen HOSTNAME = Server PORT = Port für Kommunikation PROTOCOL = TCPIP UID = User mit dem sich angemeldet werden soll PWD = Passwort 36

37 Anfragen absetzen EINFACHE SQL-ANFRAGE BEISPIEL db2_exec($connection, $statement [, $options]); $conn = db2_connect( sample, db2insxx, ); $sql = SELECT * FROM EMPLOYEE ; $stmt = db2_exec($conn, $sql); RESULTS VERARBEITEN while ($row = db2_fetch_object($stmt)) { print "Name: {$row->firstnme} {$row->lastname} "; } db2_close($conn);

38 Ergebnisse verarbeiten VERSCHIEDENE MÖGLICHKEITEN Abrufen von Ergebnisspalten Abrufen von Ergebniszeilen Abrufen von großen Objekten ERGEBNISSPALTEN sinnvoll wenn nicht alle Spalten benötigt werden verbraucht weniger Speicher Abrufen durch: while (db2_fetch_row($stmt)) { $myvar = db2_result($stmt, 0); $myvar2 = db2_result($stmt, 'spalte'); }

39 Ergebnisse verarbeiten ERGEBNISZEILEN liefert alle Spalten einer Zeile Format wählbar - db2_fetch_array(); à Ausgabe als Array mit Index beginnend bei 0 - db2_fetch_assoc(); à Ausgabe als Array mit Spaltennamen als Index - db2_fetch_both(); à Ausgabe als Array mit Spaltennamen und Index beginnend bei 0 - db2_fetch_object(); à Ausgabe als Objekt, große Objekte immer über db2_fetch_object() abrufen Paramater: Statement-Variable BEISPIEL $sql = "SELECT firstnme, lastname FROM employee"; $stmt = db2_exec($conn, $sql); while ($row = db2_fetch_object($stmt)) { print "Name: <p>{$row->firstnme} {$row->lastname}</p>"; } 39

40 Vorbereitete Anfragen VORBEREITEN db2_prepare($connection, $statement [, $options]); db2_bind_param($statement, $index, variable_string); Index / Parameternummern sind 1-basiert!!! AUSFÜHREN db2_execute($statement [, array $parameters]); PARAMETERWERDEN Z.B. ÜBER FORMULARE GELIEFERT Parameter einfügen $sql = "SELECT firstnme, lastname FROM employee WHERE bonus >? AND bonus <?"; $stmt = db2_prepare($conn, $sql); if (!$stmt) { // Handle errors } db2_execute($stmt, array(500, 1000)); //process results Ausführen Vorbereitung Parameter belegen 40

41 Stored Procedures VORBEREITUNG db2_prepare($connection, $stmt, $options); db2_bind_param($stmt, $index, variable_string, $param_type); AUSFÜHREN db2_execute($stmt); PARAMETERTYPEN DB2_PARAM_IN DB2_PARAM_OUT DB2_PARAM_INOUT BEISPIEL PARAMETERBINDUNG: db2_bind_param($stmt, 1, "myvar", DB2_PARAM_IN); 41

42 Beispiel Stored Procedure $SQL = "CALL GET_EMP_NAME(?,?)"; $STMT = DB2_PREPARE($CONN, $SQL); $FIRST_PARAM = "000010"; $SECOND_PARAM = 0; DB2_BIND_PARAM($STMT, 1, "FIRST_PARAM", DB2_PARAM_IN); DB2_BIND_PARAM($STMT, 2, "SECOND_PARAM", DB2_PARAM_OUT); PRINT "VALUES OF BOUND PARAMETERS _BEFORE_ CALL:\N"; PRINT " 1: {$FIRST_PARAM} 2: {$SECOND_PARAM}\N\N"; DB2_EXECUTE($STMT); PRINT "VALUES OF BOUND PARAMETERS _AFTER_ CALL:\N"; PRINT " 1: {$FIRST_PARAM} 2: {$SECOND_PARAM}\N\N"; 42

43 Transaktionsverwaltung AUTOCOMMIT NICHT IMMERGEWÜNSCHT bestehende Verbindung ändern Verbindung ohne Autocommit aufbauen VERBINDUNG ÄNDERN db2_autocommit($conn, DB2_AUTOCOMMIT_OFF) db2_autocommit($conn, DB2_AUTOCOMMIT_ON) COMMIT DURCHFÜHREN db2_commit($conn); ROLLBACK DURCHFÜHREN db2_rollback($conn); VERBINDUNG OHNE AUTOCOMMIT AUFBAUEN Option-array bei db2_connect setzen array("autocommit" => DB2_AUTOCOMMIT_OFF) 43

44 Fehlerbehandlung CONNECTION ERRORS Treten bei fehlerhaften Verbindungen auf db2_conn_error(); liefert den SQLSTATE db2_conn_errormsg(); liefert Fehlernachricht mit SQLCODE Ausgabe: echo db2_conn_error(); SQL ERRORS Treten bei fehlerhaften Statements auf (sowohl Deklaration als auch Ausführung) db2_stmt_error(); liefert SQLSTATE db2_stmt_errormsg(); liefert Fehlernachricht mit SQLCODE BEISPIEL FÜR DEKLARATIONSFEHLER $stmt = db2_prepare($connection, "DELETE FROM employees WHERE firstnme =?"); if (!$stmt) { echo db2_stmt_error(); false; } return 44

45 Übung

46 Software ERFORDERLICHE SOFTWARE DB2 Data Server Client (vgl. ADO.NET) Webserver PHP DB2-Extension für PHP WEBSERVER UND PHP IN EINER INSTALLATION (WINDOWS) XAMPP ( Installation auch auf USB-Sticks Installationsanleitung - XAMPP Version mit PHP 5.4 laden! - Installieren (Apache + PHP reicht MySQL, PERL, sind nicht notwendig) 46

47 DB2-Extension für PHP DOWNLAOD (PHP_IBM_DB2.DLL) Enthält die Funktionen um mit DB2 zu kommunizieren Kompiliert ( Achtet auf die richtige php-version Source ( selbst als dll kompilieren PHP_IBM_DB2.DLL IN /PHP/EXT KOPIEREN PHP.INI ÄNDERN (PHP MIT DB2-EXTENSION BEKANNT MACHEN) In der Extension-Section folgendes hinzufügen extension=php_ibm_db2.dll APACHE WEBSERVER (NEU)STARTEN BEISPIELE IN /HOME/DBPROG/EXAMPLES/PHP 47

48 Zusammenfassung ADO.NET Datenbank-Zugriffskomponente des.net- Frameworks Datenbankenunabhängig (ab ADO.NET 2.0) 3 verschiedene Treibertypen wichtige Klassen (2.0): DbConnection, DbCommand, DbDataReader DB2 UND.NET Unterschiedliche Treiber für ADO 1.1 und 2.0 Treiber müssen installiert werden! DB2-Klassen erweitern Funktionalität (teilweise proprietär) DB2 ADO.NET trace facility PHP Funktionsweise Syntax von PHP DB2 UND PHP Einfache Anfragen, Dynamische Anfragen, Ergebnisverarbeitung Stored Procedures, Transaktionsverwaltung, Fehlerbehandlung MICROSOFT VISUAL STUDIO Einbinden der DB2-Bibliotheken erforderlich 48

Prof. Dr.-Ing. Wolfgang Lehner 12..NET

Prof. Dr.-Ing. Wolfgang Lehner 12..NET Prof. Dr.-Ing. Wolfgang Lehner 12..NET .NET-Framework.NET Framework Von Microsoft initiierte Software-Plattform Hauptsprache C# Laufzeitumgebung auf Basis von Byte-Code Starke Integration mit Microsoft-Produkten

Mehr

PHP. Prof. Dr.-Ing. Wolfgang Lehner. Diese Zeile ersetzt man über: Einfügen > Kopf- und

PHP. Prof. Dr.-Ing. Wolfgang Lehner. Diese Zeile ersetzt man über: Einfügen > Kopf- und 8. PHP Prof. Dr.-Ing. Wolfgang Lehner Diese Zeile ersetzt man über: Einfügen > Kopf- und PHP PHP (Hypertext Preprocessor) Serverseitige Skriptsprache (im Gegensatz zu JavaScript) Hauptanwendungsgebiet:

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

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

Datenbanken 1. Einführung und Zugänge für die eingesetzten Resourcen. ISWeb - Information Systems & Semantic Web University of Koblenz Landau, Germany

Datenbanken 1. Einführung und Zugänge für die eingesetzten Resourcen. ISWeb - Information Systems & Semantic Web University of Koblenz Landau, Germany University of Koblenz Landau, Germany Einführung und Zugänge für die eingesetzten Resourcen of 20 Überblick Eingesetzte Resourcen und ihre Zugänge WebCT FTP-Server PHP PostgreSQL

Mehr

Einführung in die Scriptsprache PHP

Einführung in die Scriptsprache PHP Herbst 2014 Einführung in die Scriptsprache PHP Wirtschaftsinformatik: 5. Semester Dozenten: Rainer Telesko / Martin Hüsler Fachhochschule Nordwestschweiz FHNW - Rainer Telesko / Martin Hüsler 1 Inhalt:

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

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

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

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015 Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 6: Datenbankabfragen mit SQL und PHP Stand: 24.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

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

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

Datenmanagement in Android-Apps. 16. Mai 2013

Datenmanagement in Android-Apps. 16. Mai 2013 Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer

Mehr

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

Universität Stuttgart Abteilung Anwendersoftware 01.07.2002. - Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures SQLJ Basics Universität Stuttgart Abteilung Anwendersoftware 01.07.2002 Was ist SQLJ? SQLJ Part 0: - Steht für Embedded SQL in Java SQLJ Part 1: - Java-Methoden als SQL Stored-Procedures SQLJ Part 2: -

Mehr

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

Multimedia im Netz Wintersemester 2011/12

Multimedia im Netz Wintersemester 2011/12 Multimedia im Netz Wintersemester 2011/12 Übung 01 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 26.10.2011 MMN Übung 01 2 Inhalte der Übungen Vertiefung

Mehr

Dynamik bis zur DB-Interaktion. Marc Schanne. CGI Möglichkeiten

Dynamik bis zur DB-Interaktion. Marc Schanne. CGI Möglichkeiten CGI einfach PHP Dynamik bis zur DB-Interaktion 1 CGI Möglichkeiten Das Common Gateway Interface (CGI) ermöglicht den Entwurf von interaktiven, benutzergesteuerten Web-Applikationen. Der WWW-Server ruft

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

2. Datenbank-Programmierung

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

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

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

KeePass Anleitung. 1.0Allgemeine Informationen zu Keepass. KeePass unter Windows7

KeePass Anleitung. 1.0Allgemeine Informationen zu Keepass. KeePass unter Windows7 KeePass Anleitung 1.0Allgemeine Informationen zu Keepass KeePass unter Windows7 2.0 Installation unter Windows7 2.1 Erstellen einer neuen Datenbank 2.2 Speichern von Benutzernamen und Passwörtern 2.3 Sprache

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

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

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

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

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

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

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

Nutritioner V2.0: Lokaler, Synchronisations- und Servermodus

Nutritioner V2.0: Lokaler, Synchronisations- und Servermodus Nutritioner V2.0: Lokaler, Synchronisations- und Servermodus Es stehen drei unterschiedliche Modi für die individuellen Anforderungen zur Verfügung: 1. Servermodus Es besteht ein ständiger Zugriff auf

Mehr

3. Persistenz und Datenbanken Content Providers. Content Providers. Generische Schnittstelle zum Zugriff auf Daten zwischen Anwendungen

3. Persistenz und Datenbanken Content Providers. Content Providers. Generische Schnittstelle zum Zugriff auf Daten zwischen Anwendungen Content Providers Generische Schnittstelle zum Zugriff auf Daten zwischen Anwendungen Entkopplung der Daten-Schicht von der Anwendungsschicht Zugriff erfolgt URI-basiert Kontrolle der Zugriffsrechte eingebaute

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

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

Mehr

Gesicherte Prozeduren

Gesicherte Prozeduren Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.

Mehr

Verbinden von IBM Informix mit Openoffice mittels JDBC

Verbinden von IBM Informix mit Openoffice mittels JDBC Verbinden von IBM Informix mit Openoffice mittels JDBC Voraussetzungen Installierte und laufende IBM Informixdatenbank. Getestet wurde mit IDS 9.40 und 10.00. Sollte aber auch mit älteren Versionen funktionieren.

Mehr

easylearn Webservice lsessionservice Interface für Single Sign On (SSO)

easylearn Webservice lsessionservice Interface für Single Sign On (SSO) - 1 - easylearn Webservice lsessionservice Interface für Single Sign On (SSO) SDN AG, Solution Development Network Dezember 2008 - 2 - Inhaltsverzeichnis Inhaltsverzeichnis... 2 easylearn Webservice lsessionservice...

Mehr

Anleitung zum Prüfen von WebDAV

Anleitung zum Prüfen von WebDAV Brainloop Secure Dataroom Version 8.20 Copyright Brainloop AG, 2004-2014. Alle Rechte vorbehalten. Sämtliche verwendeten Markennamen und Markenzeichen sind Eigentum der jeweiligen Markeninhaber. Inhaltsverzeichnis

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

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

TimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München

TimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München Time CGI Version 1.5 Stand 04.12.2013 TimeMachine Dokument: time.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor Version Datum Kommentar

Mehr

Anleitung zum Prüfen von WebDAV

Anleitung zum Prüfen von WebDAV Anleitung zum Prüfen von WebDAV (BDRS Version 8.010.006 oder höher) Dieses Merkblatt beschreibt, wie Sie Ihr System auf die Verwendung von WebDAV überprüfen können. 1. Was ist WebDAV? Bei der Nutzung des

Mehr

26.1.1 Vor- und Nachteile speicheroptimierter Tabellen... 764

26.1.1 Vor- und Nachteile speicheroptimierter Tabellen... 764 25.4 Verhalten bei Systemfehlern... 735 25.5 Programmierung expliziter Transaktionen... 737 25.6 Implizite Transaktionen... 741 25.7 Sperren... 743 25.7.1 Sperrebenen... 743 25.7.2 Gemeinsame Sperren (Shared

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Cisco AnyConnect VPN Client - Anleitung für Windows7

Cisco AnyConnect VPN Client - Anleitung für Windows7 Cisco AnyConnect VPN Client - Anleitung für Windows7 1 Allgemeine Beschreibung 2 2 Voraussetzungen für VPN Verbindungen mit Cisco AnyConnect Software 2 2.1 Allgemeine Voraussetzungen... 2 2.2 Voraussetzungen

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

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Anleitung 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

Mehr

Lokale Installation von DotNetNuke 4 ohne IIS

Lokale Installation von DotNetNuke 4 ohne IIS Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation

Mehr

ASP: Active Server Pages

ASP: Active Server Pages ASP: Active Server Pages Allgemeines: ASP ist die serverseitige Schnittstelle zu Skripten/Programmen ausgehend vom Microsoft-Internet- Information-Server (z.b. in Windows-Server enthalten) Skript- und

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

PHP und MySQL. Sicherheit und Session-Handling mit PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424

PHP und MySQL. Sicherheit und Session-Handling mit PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424 Zentrum für Informationsdienste und Hochleistungsrechnen PHP und MySQL Sicherheit und Session-Handling mit PHP Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424 (michael.kluge@tu-dresden.de)

Mehr

eridea AG Installation Eclipse V 1.4

eridea AG Installation Eclipse V 1.4 Installation Eclipse Inhaltsverzeichnis Einleitung... 2 Voraussetzungen für die Eclipsenutzung... 2 SAP GUI aktualisieren... 2 Java aktualisieren... 3 VC++ aktualisieren... 3 Eclipse installieren... 5

Mehr

Das Handbuch zu Simond. Peter H. Grasch

Das Handbuch zu Simond. Peter H. Grasch Peter H. Grasch 2 Inhaltsverzeichnis 1 Einführung 6 2 Simond verwenden 7 2.1 Benutzereinrichtung.................................... 7 2.2 Netzwerkeinrichtung.................................... 9 2.3

Mehr

5. Übung: PHP-Grundlagen

5. Übung: PHP-Grundlagen 5.1. Erstes PHP-Programm 1. Schreiben Sie PHP-Programm innerhalb einer Webseite, d.h. innerhalb eines HTML-Dokument. Ihr PHP-Programm soll einen kurzen Text ausgeben und Komentare enthalten. Speichern

Mehr

Medea3 Print-Client (m3_print)

Medea3 Print-Client (m3_print) Medea3 Print-Client (m3_print) Installationsanleitung Installationsanleitung m3_print.exe...2 1. Installieren von Ghostskript und Ghostview...2 1. Ghostskript...2 2. Ghostview...3 2. Kopieren des Print-Client-Programms...6

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

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de 3.12.09 HKInformationsverarbeitung Kurs: Datenbanken vs. MarkUp WS 09/10 Dozent: Prof. Dr. M. Thaller XINDICE The Apache XML Project Inhalt Native

Mehr

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Inhalt 1. Die Funambol Software... 3 2. Download und Installation... 3 3.

Mehr

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003 Nullwerte und Primitive Typen Wenn parent==null, was wird in der Datenbank gespeichert? Wenn man aus der DB liest, wie kann

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

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

8a. Exkurs.NET. 8a.1.NET Architektur

8a. Exkurs.NET. 8a.1.NET Architektur 8a. Exkurs.NET Inhalt: 8a.1.NET Architektur 8a.2 Kooperation von Anwendungen über ADO -.NET 8a.3 Unterschiede gegenüber gewöhnlicher WIN32- Programmierung 1 8a.1.NET Architektur Bislang wurden die C/C++

Mehr

desk.modul : WaWi- Export

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

Mehr

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

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

Mehr

Datenbankimplementierung

Datenbankimplementierung ENTWICKLUNG Datenbankimplementierung Datenbankimplementierung Christian Zahler Sofern Ausführungen auf SQL Server 2005 Bezug nehmen, gelten sie gleichermaßenauchfürsql Server 2008. 6 Client-Programmierung

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

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT 1 Metadaten a) Wozu werden Metadaten im Umfeld von DBMS benötigt? b) Nennen Sie mindestens zwei weitere Anwendungsfelder, in denen Metadaten zum Einsatz kommen.

Mehr

Installationsanleitung. Lohn Manager 9.5

Installationsanleitung. Lohn Manager 9.5 Lohn Manager 9.5 1 Inhalt 1 Setup Download... 3 2 Installation... 5 3 Installation Chrystal Report... 6 4 Installation Lohn Manager 9.5... 6 5 Icon Lohn Manager 9.5... 9 6 Windows 2000... 9 2 1 Setup Download

Mehr

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen

Mehr

Installation Microsoft SQL Server 2008 Express

Installation Microsoft SQL Server 2008 Express Installation Microsoft SQL Server 2008 Express Im nachfolgenden Dokument werden alle Einzelschritte aufgeführt, die als Voraussetzung für die korrekte Funktion der SelectLine Applikation mit dem SQL Server

Mehr

Lehrveranstaltung Grundlagen von Datenbanken

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

Mehr

B E N U T Z E R D O K U M E N TA T I O N ( A L E P H I N O

B E N U T Z E R D O K U M E N TA T I O N ( A L E P H I N O B E N U T Z E R D O K U M E N TA T I O N ( A L E P H I N O 5. 0 ) Single-Sign-On Alephino Version 5.0 1/10 zuletzt aktualisiert: 04.07.2014 Inhalt 1 Wirkungsweise...3 2 Windows Benutzer (Domain User)...4

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

Studentische Lösung zum Übungsblatt Nr. 7

Studentische Lösung zum Übungsblatt Nr. 7 Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int

Mehr

Datenschutzerklärung:

Datenschutzerklärung: Generelle Funktionsweise Beim HRF Lizenzprüfungsverfahren werden die von HRF vergebenen Registriernummern zusammen mit verschiedenen Firmen- und Standortinformationen vom Kunden über den HRF Webserver

Mehr

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005 Das Software Studio Christian Efinger mobilepoi 0.91 Demo Version Anleitung Erstellt am 21. Oktober 2005 Kontakt: Das Software Studio Christian Efinger ce@efinger-online.de Inhalt 1. Einführung... 3 2.

Mehr

Datenbanken auf Sybase SQL-Anywhere

Datenbanken auf Sybase SQL-Anywhere Office Manager Enterprise oder Client/Server (ab Version 6.0.3.170) Datenbanken auf Sybase SQL-Anywhere A. Office Manager-Installationen Falls die Office Manager Enterprise- oder Client/Server-Version

Mehr

Basis APplication Server V6.7 BAPS

Basis APplication Server V6.7 BAPS Basis APplication Server V6.7 BAPS Vertriebsfreigabe H4K V6 und V6 R2, OSV V7 (Stand 6.5.2013) Inhalt 1. Produktbeschreibung... 3 1.1 BAPS... 3 1.2 Bestandteile... 4 1.2.1 CSTA Treiber... 4 1.2.2 FAMOS

Mehr

Installationsbeschreibung Flottenmanager 7.1

Installationsbeschreibung Flottenmanager 7.1 Installationsbeschreibung Flottenmanager 7.1 1 Dieses Dokument dokumentiert die Installation des Flottenmanagers (Server und Clientseite). Damit der Flottenmanager betrieben werden kann, müssen folgende

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

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

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

quickterm 5.5.2 Systemvoraussetzungen Version: 1.0

quickterm 5.5.2 Systemvoraussetzungen Version: 1.0 quickterm 5.5.2 Systemvoraussetzungen Version: 1.0 16.02.2015 Inhaltsverzeichnis Inhaltsverzeichnis 1 Systemvoraussetzungen quickterm Server 3 2 Systemvoraussetzungen quickterm Client 5 3 Systemvoraussetzungen

Mehr

Voraussetzungen für die Nutzung der Format Rechenzentrumslösung (Hosting)

Voraussetzungen für die Nutzung der Format Rechenzentrumslösung (Hosting) Voraussetzungen für die Nutzung der Format Rechenzentrumslösung (Hosting) Firma: Seite 1 von 6 1 Ansprechpartner 1.1 Ansprechpartner EDV: Name: Name: Tel: Tel: E-Mail: E-Mail: 1.2 Ansprechpartner fachlich

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

MySQL Queries on "Nmap Results"

MySQL Queries on Nmap Results MySQL Queries on "Nmap Results" SQL Abfragen auf Nmap Ergebnisse Ivan Bütler 31. August 2009 Wer den Portscanner "NMAP" häufig benutzt weiss, dass die Auswertung von grossen Scans mit vielen C- oder sogar

Mehr

Funktionserweiterungen, behobene Funktionseinschränkungen und Funktionseinschränkungen, EASY Starter V1.5

Funktionserweiterungen, behobene Funktionseinschränkungen und Funktionseinschränkungen, EASY Starter V1.5 Funktionserweiterungen, behobene Funktionseinschränkungen und Funktionseinschränkungen, Inhaltsverzeichnis 1. Funktionserweiterungen... 2 1.1. Produktidentifikation... 2 1.1.1. Lauffähig unter Windows

Mehr

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung Inhalt 1. Einleitung:... 2 2. Igel ThinClient Linux OS und Zugriff aus dem LAN... 3

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

SQL-Injection. Seite 1 / 16

SQL-Injection. Seite 1 / 16 SQL-Injection Seite 1 / 16 Allgemein: SQL (Structured Query Language) Datenbanksprache zur Definition von Datenstrukturen in Datenbanken Bearbeiten und Abfragen von Datensätzen Definition: SQL-Injection

Mehr

Multimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011

Multimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011 Übung zur Vorlesung Multimedia im Netz Ludwig-Maximilians-Universität Wintersemester 2010/2011 Ludwig-Maximilians-Universität München Multimedia im Netz - Übung - 2-1 Übungsblatt - 2 Thema: HTML, PHP und

Mehr

Administrator-Anleitung

Administrator-Anleitung Administrator-Anleitung für die Installation und Konfiguration von MySQL 5.0 zur Nutzung der Anwendung Ansprechpartner für Fragen zur Software: Zentrum für integrierten Umweltschutz e.v. (ZiU) Danziger

Mehr

f Link Datenbank installieren und einrichten

f Link Datenbank installieren und einrichten f Link Datenbank installieren und einrichten Dokument-Version 1.1 20.08.2011 Programm-Version 1.0 und höher Autor Dipl.-Ing. Thomas Hogrebe, tommic GmbH Inhalt Versionshistorie... 1 Über dieses Dokument...

Mehr

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html

Mehr

quickterm 5.6.2 Systemvoraussetzungen Version: 1.1

quickterm 5.6.2 Systemvoraussetzungen Version: 1.1 quickterm 5.6.2 Systemvoraussetzungen Version: 1.1 26.04.2016 Inhaltsverzeichnis Inhaltsverzeichnis 1 Systemvoraussetzungen quickterm Server 3 2 Systemvoraussetzungen quickterm Client 5 3 Systemvoraussetzungen

Mehr

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an? WEBAPPLIKATIONEN MIT PHP Wo gibt es Hilfe? Wie fang ich an? Tools Webapplikationen bestehen aus Textdateien Lassen sich in Texteditoren schreiben Alternativen: Eclipse (PDT) Netbeans (Dynamic Languages)

Mehr

Hinweise zur Installation von MySQL

Hinweise zur Installation von MySQL Hinweise zur Installation von MySQL Im Folgenden werden einige Hinweise gegeben, die die Einrichtung einer MySQL-Lernumgebung am eigenen Windows-Rechner erleichtern sollen. Der Text ist vor allem für diejenigen

Mehr