Ziele. Transaktionen. Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr

Größe: px
Ab Seite anzeigen:

Download "Ziele. Transaktionen. Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr"

Transkript

1 Betreuer: Sascha Kriewel, Andreas Tacke Raum: LF 230 Bearbeitung: 1. Woche: Januar Woche: Januar Woche: Februar 2009 Präsenzaufgaben: Abnahme bis 13. Februar 2009, Abgabe des Quellcodes als Zip- Datei mindestens zwei Tage vorher Datum Team (Account) Aktuelle Informationen, Ansprechpartner und Material unter: Ziele In den folgenden drei Wochen soll die Datenbank aus einer Programmiersprache heraus angesprochen werden. Mit Hilfe von HTML und PHP wird eine einfache Benutzeroberäche erstellt. Gegebenenfalls ist die Datenbank mit zusätzlichen Daten zu füllen, um alle Funktionalitäten der Anwendung sinnvoll zu testen. Transaktionen Als neues Konzept sollen in dieser Woche zusätzlich Transaktionen betrachtet werden. Eine Transaktion ist eine Zusammenfassung von Datenbank-Operationen, im Extremfall von genau einer Operation. Transaktionen in Datenbanken sind charakterisiert durch die sogenannten ACID-Eigenschaften. Das bedeutet, eine Transaktion soll den vier folgenden Eigenschaften genügen: A tomicity (Atomaritär), Seite 1 von 16

2 C onstistency (Konsistenz), I solation, und D urability (Dauerhaftigkeit) Eine Transaktion soll also entweder als Ganzes oder gar nicht wirksam werden; die korrekte Ausführung einer Transaktion überführt die Datenbank von einem konsistenten Zustand in einen anderen; jede Transaktion soll unbeeinuÿt von anderen Transaktionen ablaufen; und die Änderungen einer wirksam gewordenen Transaktion dürfen nicht mehr verloren gehen. In SQL gibt es zur Unterstützung von Transaktionen verschiedene sprachliche Konstrukte. Im Allgemeinen haben wir DB2 bisher so benutzt, dass alle Anweisungen automatisch implizit als Transaktionen behandelt wirden. Dies wird durch die Option -c (auto commit) beim Aufruf des command line processors (CLPs) erreicht. Alle Änderungen eines jedes SQL-Statements werden sofort durchgeschrieben und wirksam. Ruft man den CLP mit +c auf, dann wird das auto commit deaktiviert. Nun gilt Folgendes: ˆ Jeder lesende oder schreibende Zugri auf die Datenbank beginnt implizit eine neue Transaktion. ˆ Alle folgenden Lese- oder Schreibvorgänge gehören zu dieser Transaktion. ˆ Alle eventuellen Änderungen innerhalb dieser Transaktion gelten zunächst einmal nur vorläug. ˆ Der Befehl commit schreibt die Änderungen in die Datenbank durch. Zu diesem Zeitpunkt erst müssen Integritätsbedingungen eingehalten werden. Zwischendurch kann also auch eine Integritätsbedingung verletzt werden. ˆ Commit macht die von den folgenden Befehlen getätigten Änderungen wirksam: ALTER, COMMENT ON, CREATE, DELETE, DROP, GRANT, IN- SERT, LOCK TABLE, REVOKE, SET INTEGRITY, SET transition variable und UPDATE. ˆ Solange diese Transaktion nicht durchgeschrieben wurde, nimmt der Befehl rollback alle Änderungen seit dem letzten commit als Ganzes zurück. Im Mehrbenutzerbetrieb auf einer Datenbank, etwa wenn gleichzeitig mehrere Benutzer über eine Webseite auf die Datenbank zugreifen und Daten ändern oder einfügen, kann es durch die Konkurrenz zweier Transaktionen zu Problemen oder Anomalien kommen. Typisches Beispiel sind gleichzeitige Änderungen an einer Tabelle durch zwei unabhängige Benutzer: Phantomtupel: Innerhalb einer Transaktion erhält man auf die gleiche Anfrage bei der zweiten Ausführung zusätzliche Tupel. Nichtwiederholbarkeit: Das Lesen eines Tupels liefert innerhalb einer Transaktion unterschiedliche Ergebnisse. Schmutziges Lesen: Lesen eines noch nicht durchgeschriebenen Tupels. Verlorene Änderungen: Bei zwei gleichzeitigen Änderungen wird eine durch die andere überschrieben und geht verloren. Seite 2 von 16

3 Daher kann man in DB2-SQL zum einen den Isolationsgrad setzen, mit dem man arbeitet, indem man vor Aufnahme der Verbindung mit einer Datenbank den Befehl CHANGE ISOLATION benutzt. Es gibt vier Isolationsgrade, die unterschiedlich gegen die genannten Anomalien schützen: RR RS CS UR Phantomtupel nein ja ja ja Nichtwiederholb. nein nein ja ja Schmutziges Lesen nein nein nein ja Verlorenes Update nein nein nein nein Auÿerdem lassen sich explizit Tabellen oder eine gesamte Datenbank sperren, indem man den Befehl LOCK TABLE benutzt, bzw. die Verbindung mit der Datenbank unter Angabe des Sperrmodus herstellt. SHARE-Sperren sind der Standard und bedeuten, dass niemand anderes eine EXCLUSIVE-Sperre anfordern kann. Beispiele: LOCK TABLE land IN EXCLUSIVE MODE; CONNECT TO almanach IN SHARE MODE USER username; Apache-Webserver Für jeden Account des Praktikums steht ein eigener Apache2-Webserver zur Verfügung. Eine ausführliche Dokumentation hierzu ndet sich auf der Website des Apache HTTP Server Project unter ˆ Diese sollte allerdings nicht benötigt werden. Der Webserver ist bereits vorkonguriert und für die Benutzung von PHP5 (siehe unten) und den Zugri auf DB2 vorbereitet. Unterhalb des Heimatverzeichnis Eures Accounts ndet Ihr ein Verzeichnis httpd, welches die lokale Installation des Webservers enthält. Es enthält eine Reihe von Unterverzeichnissen, von denen hier nur die wichtigsten beschrieben sind: bin enthält die ausführbaren Dateien, mit denen der Webserver gestartet und gestoppt werden kann conf enthält die Kongurationsdateien htdocs enthält die auszuliefernden HTML- und PHP-Seiten logs enthält die Logdateien mit Zugris- und Fehlerinformationen Bei den meisten der Dateien handelt es sich um reine Textdateien, die Ihr mit Hilfe von cat und less betrachten und mit einem normalen Texteditor editieren könnt. Starten und Stoppen des Webservers Um den Webserver zu starten, wechselt in das Verzeichnis $HOME/httpd/bin und ruft dort den Befehl./apachectl start auf. Genauso lässt sich der Webserver mit Seite 3 von 16

4 dem Befehl./apachectl stop wieder beenden. Wir bitten Euch, den Webserver zum Ende der Praktikumssitzung wieder zu stoppen. Zugri Nach dem Starten des Webservers läuft dieser auf Eurem lokalen Arbeitsplatzrechner. Der Zugri auf einzelne Seiten erfolgt über einen Webbrowser unter der URL Wie üblich solltet Ihr in der URL xx durch die Nummer Eurer Gruppe ersetzen. Um zu testen, ob der Zugri funktioniert, ruft zunächst auf. Dies sollte Euch eine Übersicht über die installierten PHP-Erweiterungen und die Arbeitsumgebung geben. Sucht in dieser Übersicht nach dem Modul ibm_db2. Einstellen neuer Seiten Das Arbeitsverzeichnis des Webservers ist $HOME/httpd/htdocs. Innerhalb dieses Verzeichnisses könnt Ihr Unterverzeichnisse erstellen und Dateien ablegen, die dann über den Webserver zugreifbar sind. Nach dem Ablegen einer neuen Seite (PHP oder HTML) muss der Webserver nicht neugestartet werden. Sie ist sofort verfügbar. Werden Änderungen an Seiten nicht sofort sichtbar, muss ggf. der Cache des Browsers geleert oder eine aktuelle Version mit Ctrl-r oder Ctrl-F5 angefordert werden. Datenbankzugri über PHP Als Wirtssprache, mit deren Hilfe die zu erstellende Anwendung auf die Datenbank zugreifen soll, wurde PHP5 gewählt. PHP ist eine weit verbreitete und recht leicht erlernbare Skriptsprache, die direkt in HTML-Seiten eingebettet werden kann. Sie ist bei der Webentwicklung weitverbreitet und kommt oft gemeinsam mit dem Apache-Webserver und MySQL-Datenbanken zum Einsatz. Neben MySQL bietet PHP jedoch auch Anbindungen an andere Datenbanksysteme wie DB2. Programmieren mit PHP Eine komplette Einführung in PHP kann das Datenbank-Praktikum nicht leisten, wir verweisen hier auf die existierende Literatur, z.b. auf ˆ Die hier benutzten Befehle des ibm_db2-moduls sind in der Online-Dokumentation zu DB2 beschrieben. ˆ ftp://ftp.software.ibm.com/ps/products/db2/info/vr9/pdf/letter/en_ US/db2ape90.pdf ˆ Seite 4 von 16

5 Jede Datei mit PHP-Anweisungen sollte auf.php enden, um vom Webserver als solche erkannt zu werden. Alle PHP-Anweisungen, die interpretiert werden sollen, müssen sich innerhalb eines Anweisungsblocks benden, der mit <?php und?> begrenzt wird. Dieser Anweisungsblock kann sich vom Beginn bis zum Ende einer Datei ziehen, oder es können mehrere kleinere Anweisungsblöcke innerhalb einer HTML-Seite untergebracht werden. Ein ganz simples PHP-Skript könnte zum Beispiel wie folgt aussehen: 1 <?php echo " H e l l o World! "?> Listing 1: hello.php Datenbankverbindung Es gibt mehrere Möglichkeiten, eine Datenbankverbindung aus PHP zu einer DB2- Datenbank herzustellen. Im Praktikum soll die einfachste Methode benutzt werden, die voraussetzt, dass die Datenbank bereits lokal (auf dem Rechner, auf dem der Webserver läuft) katalogisiert wurde und ein DB2-Client vorhanden ist. Gibt es einen solchen Katalogeintrag, z.b. Database alias Database name Node name = MONDCAT = MONDIAL = SALZ so kann eine Verbindung mit dem Befehl db2_connect erstellt werden. Listing 2: connect.php 1 <?php 2 // D a t a b a s e a l i a s, username and p a s s w o r d h a ve t o be s u p p l i e d 3 $conn = db2_connect ( ' Database a l i a s ', ' Username ', ' Password ' ) ; 4 5 i f ( $conn ) { 6 // c o n n e c t i o n s u c c e s s f u l 7 db2_close ( $conn ) ; 8 } e l s e { 9 echo "<b>c o n n e c t i o n f a i l e d :</b><br>" ; 10 // show l a s t e r r o r message 11 echo db2_conn_errormsg ( ) ; 12 } 13?> Wenn die Verbindung nicht mehr benötigt wird, sollte sie immer mit db2_close() geschlossen werden. Dies entspricht dem Kommandozeilen-Befehl terminate. S. 7 S. 42 S. 38 Anfragen an die Datenbank Für eine Anfrage (oder allgemeiner: ein SQL-Statement) an die Datenbank benötigt man zunächst eine existierende Datenbankverbindung. Zu dieser Verbindung lässt sich dann mit dem Befehl db2_prepare eine Anfrage vorbereiten und mit dem Befehl db2_execute ausführen. Alternativ lassen sich feste Anfragen oder Statements auch direkt mit db2_exec ausführen. Seite 5 von 16 S. 55 S. 52 S. 50

6 Ein sogenanntes Prepared Statement erlaubt das Freilassen einiger Parameter, die dann z.b. durch Benutzereingaben ersetzt werden können. Der Vorteil gegenüber dem Zusammensetzen einer dynamischen Datenbank-Anfrage durch String- Konkatenation besteht darin, dass Typüberprüfung stattndet und nicht arbiträre Benutzereingaben für SQL-Injektionen genutzt werden können. Zunächst ein Beispiel für eine einfache, statische SQL-Anfrage: Listing 3: static_query.php 1 <?php 2 $conn = db2_connect ( ' Database a l i a s ', ' Username ', ' Password ' ) ; 3 i f ( $conn ) { 4 $ r e s u l t = db2_exec ( $conn, 5 "SELECT DISTINCT name FROM dbprak. c o u n t r y " ) ; 6 i f (! $ r e s u l t ) { 7 echo "<b>execute f a i l e d :</b><br>" ; 8 echo db2_stmt_errormsg ( $stmt ). "<br>" ; 9 } 10 db2_close ( $conn ) ; 11 } 12?> Und ein Beispiel für ein dynamisches Prepared Statement, welches drei freie Parameter hat (der Platzhalten für einen freien Parameter ist das?): Listing 4: dynamic_statement.php 1 <?php 2 // p r e p a r e t h e p a r a m e t e r v a l u e s 3 $ c a t e g o r i e s = a r r a y ( a r r a y ( 1 0 0, ' f i c t i o n ', 0 ), 4 a r r a y ( 1 1 0, ' f a n t a s y ', ), 5 a r r a y ( 1 1 6, ' urban f a n t a s y ', ) ) ; 6 7 $conn = db2_connect ( ' Database a l i a s ', ' Username ', ' Password ' ) ; 8 i f ( $conn ) { 9 $ i n s e r t = ' INSERT INTO c a t e g o r y ( cat_id, cat_name, top_cat ) '. 10 'VALUES (?,?,? ) ' ; 11 $stmt = db2_prepare ( $conn, $ i n s e r t ) ; 12 i f ( $stmt ) { 13 // l o o p o v e r e l e m e n t s o f a r r a y $ c a t e g o r i e s 14 f o r e a c h ( $ c a t e g o r i e s as $ c a t e g o r y ) { 15 // e x e c u t e p r e p a r e d s t a t e m e n t f o r e a c h e l e m e n t and 16 // r e p l a c e? w i t h v a l u e s 17 $ r e s u l t = db2_execute ( $stmt, $ c a t e g o r y ) ; 18 } 19 } 20 db2_close ( $conn ) ; 21 } 22?> Seite 6 von 16

7 Cursor Wie in der Vorlesung behandelt, erhält man als Ergebnis einer Datenbankanfrage aus einer Wirtsprache, einen sogenannten Cursor, über den man per Iteration Zugri auf die einzelnen Elemente der Ergebnismenge erhält. In PHP iteriert man mit dem Befehl db2_fetch_row(). Der erste Aufruf des Befehls setzt den Cursor auf das erste Element des Ergebnis, jeder weitere Aufruf setzt den Cursor ein Element weiter. Kommt der Cursor an das Ende der Ergebnismenge, so liefert er als Ergebnis false, sonst true. Wenn der Cursor auf ein Ergebnistupel zeigt, kann dieses mit dem Befehl db2_result() ausgelesen werden. Dabei wird neben dem Statement auch die Spalte angegeben (beginnend mit 0), die gelesen werden soll: Listing 5: read_data.php 1 <?php 2 $conn = db2_connect ( ' Database a l i a s ', ' Username ', ' Password ' ) ; 3 i f ( $conn ) { 4 $stmt = db2_exec ( $conn, 5 "SELECT t i t l e, y e a r FROM dbprak. work " ) ; 6 i f ( $stmt ) { 7 w h i l e ( db2_fetch_row ( $stmt ) ) { 8 $ t i t l e = d b 2 _ r e s u l t ( $stmt, 0 ) ; 9 $ y e a r = d b 2 _ r e s u l t ( $stmt, 1 ) ; 10 echo " $ t i t l e ( $ y e a r )<br>" ; 11 } 12 } 13 db2_close ( $conn ) ; 14 } 15?> S. 64 S. 67 Es ist möglich, beim Stellen einer Anfrage, einen sogenannten scrollenden Cursor anzufordern. Dieser erlaubt nicht nur einfaches Iterieren, sondern direktes Ansteuern eines bestimmten Ergebnistupels (beginnend mit 1). Der für scrollende Cursor nötige Overhead verlangsamt jedoch im Allgemeinen die Anwendung, daher sollten sie nur wenn notwendig benutzt werden. Listing 6: scrollable_cursor.php 1 <?php 2 $conn = db2_connect ( ' Database a l i a s ', ' Username ', ' Password ' ) ; 3 i f ( $conn ) { 4 // s t a t e m e n t r e q u e s t s a s c r o l l a b l e c u r s o r f o r r e s u l t 5 $stmt = db2_ prepare ( $conn, 6 "SELECT t i t l e, y e a r FROM dbprak. work ", 7 a r r a y ( ' c u r s o r ' => DB2_SCROLLABLE ) ) ; 8 $ r e s u l t = db2_execute ( $conn, $stmt ) ; 9 i f ( $ r e s u l t ) { 10 // c h e c k number o f rows r e t u r n e d 11 i f ( db2_num_rows ( $stmt ) > 10) { 12 db2_fetch_row ( $stmt, 1 0 ) ; 13 echo " T i t l e f o r 10 th book : ". 14 d b 2 _ r e s u l t ( $stmt, 0 ) ; 15 } 16 } 17 db2_close ( $conn ) ; 18 }?> Seite 7 von 16

8 Während mit der Kombination db2_fetch_row() und db2_result() der direkte Zugri auf einzelne Spalten eines Ergebnistupels möglich ist, bietet es sich im Allgemeinen an, ein komplettes Ergebnistupel als Array einzulesen und im Programm diesem weiterzuarbeiten. Der Befehl db2_fetch_array() setzt den Cursor auf das erste bzw. nächste Ergebnistupel und liefert dieses als Array zurück, wie im folgenden Beispiel zu sehen: Listing 7: fetch_array.php 1 <?php 2 $conn = db2_connect ( ' Database a l i a s ', ' Username ', ' Password ' ) ; 3 i f ( $conn ) { 4 $ s q l = "SELECT t i t l e, i s b n, format ". 5 "FROM book ORDER BY t i t l e " ; 6 $ r e s u l t = db2_exec ( $stmt, $ s q l, 7 a r r a y ( ' c u r s o r ' => DB2_SCROLLABLE ) ) ; 8 $ i = 1 ; 9 w h i l e ( $row = db2_fetch_array ( $ r e s u l t, $ i ) ) { 10 echo $row [ 0 ]. " ( ". $row [ 1 ]. " ) ". $row [ 2 ]. "<br >\n" ; 11 $ i ++; 12 } 13 db2_close ( $conn ) ; 14 } 15?> S. 58 Transaktionen PHP-Anwendungen verbinden sich standardmäÿig im AUTOCOMMIT-Modus mit der Datenbank, d.h. alle Anweisungen gelten als einzelne Transaktion und werden direkt festgeschrieben. Das ist manchmal nicht sinnvoll, z.b. wenn nur durch eine Reihe von Anweisungen die Datenbank in einen gültigen Zustand überführt werden kann (etwa beim Einfügen eines neuen Buchs, für das zunächst ein neues Bibliotheks- Objekt eingefügt werden muss). Durch den Befehl db2_autocommit() lässt sich der Modus für eine Verbindung setzen und abfragen: ˆ db2_autocommit($conn) liefert den Status der Verbindung $conn ˆ db2_autocommit($conn, DB2_AUTOCOMMIT_ON) - schaltet automatisches COMMIT ein ˆ db2_autocommit($conn, DB2_AUTOCOMMIT_OFF) - schaltet automatisches COMMIT aus Solange der AUTOCOMMIT-Modus abgeschaltet ist, müssen Transaktionen durch die Anwendung ausdrücklich abgeschlossen und durchgeschrieben werden. Dies erledigt der Befehl db2_commit($conn), entsprechend macht der Befehl db2_rollback($conn) alle Änderungen seit dem letzten COMMIT rückgängig. S. 37 S. 38 S. 46 Seite 8 von 16

9 HTML-Formulare Um Benutzereingaben aufzunehmen und an ein PHP-Skript zu übergeben, können HTML-Formularelemente zum Einsatz kommen. Beim Abschicken des Formulars wird dann das PHP-Skript aufgerufen und der Inhalt der Formularelemente per POST oder GET übergeben. Mehr zu HTML und HTML-Formularen ndet man z.b. unter ˆ oder ˆ Das folgende Beispiel für ein HTML-Formular, das ein PHP-Skript aufruft, zeigt verschiedene Formularelemente, die genutzt werden können: Listing 8: form.html 1 <form e n c t y p e=" m u l t i p a r t / form data " a c t i o n=" t e s t. php" method=" p o s t "> 2 <t a b l e> 3 <t r><td c o l s p a n="2"> B e i s p i e l</ td></ t r> 4 <t r> 5 <td><b>matrikelnummer :</b></ td> 6 <td><i n p u t type=" t e x t " name=" m a t r i k e l " s i z e="60"/></ td> 7 </ t r> 8 <t r> 9 <td><b>aufgabe 1 :</b></ td> 10 <td><t e x t a r e a name=" aufgabe_1 " rows="15" c o l s="60"></ t e x t a r e a> 11 <i n p u t type=" r e s e t "/> 12 </ td> 13 </ t r> 14 </ t a b l e> 15 <i n p u t type=" h i d d e n " name=" woche " v a l u e="1"/> 16 <i n p u t type=" submit " v a l u e=" a b s c h i c k e n "/> 17 </ form> ˆ input vom Typ text erlaubt die Eingabe eines kurzen Textes ˆ input vom Typ hidden übergibt zusätzliche Werte, ohne dass diese dem Benutzer angezeigt werden ˆ input vom Typ reset setzt ein Formular zurück ˆ input vom Typ submit schickt das Formular ab ˆ textarea erlaubt die Eingabe längerer, mehrzeiliger Texte Jede Eingabe, die durch das PHP-Skript ausgelesen werden soll, benötigt einen Namen, wobei nur solche Zeichen erlaubt sind, die in PHP für Variablennamen gültig sind. Im HTML-Element form wird das aufzurufende Skript und die Methode (POST oder GET) angegeben. Seite 9 von 16

10 Auslesen von POST/GET-Parametern in PHP Wenn ein PHP-Skript aus einem Formular oder durch direkte Angabe der URL aufgerufen wird, so stehen die übergebenen Parameter und ihre Werte in einem assoziativen Array. Dieser heisst entweder $_POST (bei Aufruf über POST) oder $_GET (bei Aufruf über GET). Alternativ kann man das Array $_REQUEST benutzen, dass sowohl POST- als auch GET-Parameter enthält. 1 // Post P a r a m e t e r a u s l e s e n 2 $woche = $_POST[ ' woche ' ] ; 3 $account = $_POST[ ' account ' ] ; 4 $ m a t r i k e l = $_POST[ ' m a t r i k e l ' ] ; 1 // Get P a r a m e t e r a u s l e s e n 2 $woche = $_GET[ ' woche ' ] ; 3 $account = $_GET[ ' account ' ] ; 4 $ m a t r i k e l = $_GET[ ' m a t r i k e l ' ] ; Listing 9: postparams.php Listing 10: getparams.php Seite 10 von 16

11 Ein ausführliches Beispiel Schlieÿlich sei hier noch ein ausführlicheres Beispiel gegeben, das erlaubt, in der Datenbank BIBSAMPL Werke und ihre Autoren zu betrachten (die Datenbank existiert unter der gleichen Instanz wie die MONDIAL-Beispieldaten, also dbprak auf dem Rechner salz.is.inf.uni-due.de und kann auf die bekannte Weise katalogisiert werden). Es besteht aus insgesamt vier Dateien. Dabei enthält connection.inc.php nur die Verbindungsdaten, so dass diese ggf. nur einer Datei geändert werden müssen. Listing 11: connection.inc.php 1 <?php 2 $ d a t a b a s e _ a l i a s = '.. ' ; 3 $username = '.. ' ; 4 $password = '.. ' ; 5 6 $conn = db2_connect ( $ d a t a b a s e _ a l i a s, $username, $password ) ; 7?> Listing 12: browse.php 1 <html><body> 2 <?php 3 i n c l u d e ' c o n n e c t i o n. i n c ' ; 4 5 i f ( $conn ) { 6 $stmt = db2_ prepare ( $conn, 7 "SELECT DISTINCT l e f t ( name, 1 ) FROM dbprak. a u t h o r " ) ; 8 $ r e s u l t = db2_execute ( $stmt ) ; 9 i f (! $ r e s u l t ) { 10 echo "<b>execute f a i l e d :</b><br>" ; 11 echo db2_stmt_errormsg ( $stmt ). "<br>" ; 12 } 13 echo "<h3>browse works by author </h3><p>" ; 14 w h i l e ( db2_fetch_row ( $stmt ) ) { 15 $name = d b 2 _ r e s u l t ( $stmt, 0 ) ; 16 i f ( $name <> ' ' ) { 17 echo "[<a h r e f =' show_authors. php? a u t h o r=$name'>$name</a >] " ; 18 } 19 } 20 echo "</p>" ; 21 $stmt = db2_ prepare ( $conn, 22 "SELECT DISTINCT l e f t ( t i t l e, 1 ) FROM dbprak. work " ) ; 23 $ r e s u l t = db2_execute ( $stmt ) ; 24 i f (! $ r e s u l t ) { 25 echo "<b>execute f a i l e d :</b><br>" ; 26 echo db2_stmt_errormsg ( $stmt ). "<br>" ; 27 } 28 echo "<h3>browse works by work t i t l e </h3><p>" ; 29 w h i l e ( db2_fetch_row ( $stmt ) ) { 30 $name = d b 2 _ r e s u l t ( $stmt, 0 ) ; 31 i f ( $name <> ' ' ) { 32 echo "[<a h r e f =' show_works. php? work=$name'>$name</a >] " ; 33 } 34 } 35 echo "</p>" ; 36 db2_close ( $conn ) ; 37 } e l s e { 38 echo "<b>c o n n e c t i o n f a i l e d :<b><br>" ; Seite 11 von 16

12 39 echo db2_conn_errormsg ( ) ; 40 } 41?> 42 </body></html> Listing 13: show_works.php 1 <html> 2 <body> 3 <? 4 i n c l u d e ' c o n n e c t i o n. i n c. php ' ; 5 6 $ a u t h o r = $_GET[ ' a u t h o r ' ] ; 7 $ a u t h o r = db2_escape_string ( $ a u t h o r ) ; 8 $work = $_GET[ ' work ' ] ; 9 $work = db2_ escape_ string ( $work ) ; i f ( $conn ) { 12 i f ( $work!= ' ' ) { 13 $stmt = db2_ prepare ( $conn, 14 "SELECT o. t i t l e, o. y e a r FROM dbprak. a u t h o r a ". 15 "JOIN dbprak. wrote w ON a. i d=w. author_id ". 16 "JOIN dbprak. work o ON o. i d=w. work_id ". 17 "WHERE t i t l e l i k e ' ". $work. "%' ORDER BY o. t i t l e " ) ; 18 } e l s e { 19 $stmt = db2_ prepare ( $conn, 20 "SELECT o. t i t l e, o. y e a r FROM dbprak. a u t h o r a ". 21 "JOIN dbprak. wrote w ON a. i d=w. author_id ". 22 "JOIN dbprak. work o ON o. i d=w. work_id ". 23 "WHERE name =? ORDER BY o. t i t l e " ) ; 24 } 25 $ r e s u l t = db2_execute ( $stmt, a r r a y ( $ a u t h o r ) ) ; 26 i f (! $ r e s u l t ) { 27 echo "<b>execute f a i l e d :</b><br>" ; 28 echo db2_stmt_errormsg ( $stmt ). "<br>" ; 29 } i f ( $ a u t h o r!= ' ' ) { 32 echo "<h3>works by ' ". $ a u t h o r. " '</h3>" ; 33 } e l s e { 34 echo "<h3>works s t a r t i n g w i t h ' ". $work. " '</h3>" ; 35 } 36 echo "<ul >" ; w h i l e ( db2_fetch_row ( $stmt ) ) { 39 $ t i t l e = d b 2 _ r e s u l t ( $stmt, 0 ) ; 40 $ y e a r = d b 2 _ r e s u l t ( $stmt, 1 ) ; 41 echo "< l i > $ t i t l e ( $ y e a r )</ l i >" ; 42 } 43 echo "</ul >" ; 44 db2_close ( $conn ) ; 45 } e l s e { 46 echo "<b>c o n n e c t i o n f a i l e d :<b><br>" ; 47 echo db2_conn_errormsg ( ) ; 48 } 49 50?> 51 </body> 52 </html> Seite 12 von 16

13 Listing 14: show_authors.php 1 <html> 2 <body> 3 <? 4 i n c l u d e ' c o n n e c t i o n. i n c. php ' ; 5 6 $ a u t h o r = $_GET[ ' a u t h o r ' ] ; 7 $ a u t h o r = db2_escape_string ( $ a u t h o r ) ; 8 9 i f ( $conn ) { 10 $stmt = db2_ prepare ( $conn, 11 "SELECT name FROM dbprak. a u t h o r ". 12 "WHERE name LIKE ' ". $ a u t h o r. "%'" ) ; 13 $ r e s u l t = db2_execute ( $stmt ) ; 14 i f (! $ r e s u l t ) { 15 echo "<b>execute f a i l e d :</b><br>" ; 16 echo db2_stmt_errormsg ( $stmt ). "<br>" ; 17 } echo "<h3>authors w i t h ' ". $ a u t h o r. " '</h3>" ; 20 echo "<ul >" ; w h i l e ( db2_fetch_row ( $stmt ) ) { 23 $name = d b 2 _ r e s u l t ( $stmt, 0 ) ; 24 echo "< l i >$name : <a h r e f ='show_works. php? a u t h o r=$name'>". 25 "show works </a></ l i >" ; 26 } 27 echo "</ul >" ; 28 db2_close ( $conn ) ; 29 } e l s e { 30 echo "<b>c o n n e c t i o n f a i l e d :<b><br>" ; 31 echo db2_conn_errormsg ( ) ; 32 } 33 34?> 35 </body> 36 </html> Seite 13 von 16

14 Aufgaben Vorbereitung (Hausaufgaben) V0: PHP und HTML Macht Euch erneut (oder erstmals) mit der grundlegenden Syntax von PHP und HTML vertraut. Nutzt dazu z.b. die Links aus diesem Arbeitsmaterial. Hier sind noch zwei brauchbare Schnellreferenzen zu PHP und zwei zu HTML: ˆ ˆ 20Card.pdf ˆ 20Designer%27s%20HTML%20Card.pdf ˆ V1: Beispiele nachvollziehen Macht Euch anhand der Unterlagen und Dokumentationen mit den hier vorgestellten Beispielen vertraut. Ihr solltet in der Lage sein, die nachstehenden Fragen zu beantworten. (a) Was macht das SELECT-Statement in Listing 12, Zeile 7. (b) Wie hängen die einzelnen Teile der Anwendung zusammen? Wie und wo werden sie aufgerufen? (c) Was machen die beiden SELECT-Statements in Listing 13 (Zeile 14. und 20.). (d) Was geschieht in Listing 14, Zeile 4-7? Erläutere insbesondere die Funktion db2_escape_string() in Zeile 7. Wozu wird sie benötigt? Seite 14 von 16

15 Präsenz P1: Beispiel anpassen Passt zunächst das Beispiel (Listings 11-14) an Eure (eigene) Cocktail-Datenbank an. Die Dateien hierzu nden sich bereits in dem Unterverzeichnis htdocs. Statt Werken und Autoren könnte man z.b. Zutaten und Rezepte benutzen. Denkt daran, insbesondere auch die Verbindungsparameter anzupassen! P2: Inhalte der Datenbank zugreifbar machen Macht Eure Datenbank soweit wie möglich über die Webanwendung zugreifbar, so dass der Inhalt der wichtigsten Tabellen in der Anwendung einsehbar und verknüpft ist. P3: Neueintragungen in Datenbank Ermöglicht die Eintragung neuer Fakten in Eure Datenbank: (a) Anlegen eines neuen Anwenders (b) Hinzufügen einer neuen Zutat (c) Hinzufügen eines neuen Produktes und Verknüpfung des Produktes mit existierenden Zutaten (d) Hinzufügen eines neuen Vorrats für den Benutzer und Verknüpfung des Vorrats mit existierendem Produkt (e) Einfügen eines Rezepts mit den notwendigen Daten (benötigte Zutaten und Glas) P4: Übersichtsseite für Rezepte Erstellt eine Informationsseite mit allen verfügbaren Informationen zu einem Rezept. Dazu gehören: ˆ die direkten Angaben ˆ die benötigten Zutaten ˆ das benötigte Glas P5: Erweiterungen Überlegt Euch eigene Erweiterungen für Anzeige oder Datenerfassung, und setzt eine davon um. Dabei könnt Ihr auch auf optionale Teile Eurer Modellierung zurückgreifen. Möglichkeiten sind z.b. ˆ Hochladen und Anzeige eines Bildes zum Rezept Seite 15 von 16

16 ˆ Bewerten von Rezepten und Anzeige von durchschnittlichen Bewertungen ˆ Führen einer Liste von Lieblingsrezepten oder einer Zutatenwunschliste für die Benutzer ˆ An- und Abmelden per Nutzername und Passwort ˆ Anzeige wieviele und welche Zutaten einem Benutzer zu einem bestimmten Rezeot fehlen ˆ Einkaufsempfehlungen (Produkte, mit denen ein Benutzer besonders viele Rezepte zubereiten könnte, wenn er sie in den Vorrat hinzufügt) ˆ Tagging von Rezepten (zu süÿ, lecker, cremig,... ) und Anzeige der Tags als Tagwolke ˆ Seite 16 von 16

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html

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

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Adminer: Installationsanleitung

Adminer: Installationsanleitung Adminer: Installationsanleitung phpmyadmin ist bei uns mit dem Kundenmenüpasswort geschützt. Wer einer dritten Person Zugriff auf die Datenbankverwaltung, aber nicht auf das Kundenmenü geben möchte, kann

Mehr

Version 1.0 [Wiederherstellung der Active Directory] Stand: 11.01.10. Professionelle Datensicherung mit SafeUndSave.com. Beschreibung.

Version 1.0 [Wiederherstellung der Active Directory] Stand: 11.01.10. Professionelle Datensicherung mit SafeUndSave.com. Beschreibung. Version 1.0 [] Stand: 11.01.10 Beschreibung Safe und Save WWS2000 durch den Verzeichniswiederherstellungsmodus Seite 1 von 9 Version 1.0 [] Stand: 11.01.10 1. HISTORIE... 3 2. EINLEITUNG... 4 3. VORAUSSETZUNGEN...

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

Plugins. Stefan Salich (sallo@gmx.de) Stand 2008-11-21

Plugins. Stefan Salich (sallo@gmx.de) Stand 2008-11-21 Plugins Stefan Salich (sallo@gmx.de) Stand 2008-11-21 Inhaltsverzeichnis 0 Einleitung...3 0.1 Sinn und Zweck...3 0.2 Änderungsübersicht...3 0.3 Abkürzungsverzeichnis...3 1 Einfügen eines Plugins...4 1.1

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

SEMINAR Modifikation für die Nutzung des Community Builders

SEMINAR Modifikation für die Nutzung des Community Builders 20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen

Mehr

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. In diesem Artikel werden wir Ihnen zeigen, wie Sie eine Datenbank verschlüsseln können, um den Zugriff einzuschränken, aber trotzdem noch eine

Mehr

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

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Zugriff auf Daten der Wago 750-841 über eine Webseite

Zugriff auf Daten der Wago 750-841 über eine Webseite Zugriff auf Daten der Wago 750-841 über eine Webseite Inhaltsverzeichnis Einleitung... 3 Auslesen von Variablen... 4 Programm auf der SPS... 4 XML-Datei auf der SPS... 4 PHP-Script zum Auslesen der XML-Datei...

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

FastViewer Remote Edition 2.X

FastViewer Remote Edition 2.X FastViewer Remote Edition 2.X Mit der FastViewer Remote Edition ist es möglich beliebige Rechner, unabhängig vom Standort, fernzusteuern. Die Eingabe einer Sessionnummer entfällt. Dazu muß auf dem zu steuernden

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

DB2 Kurzeinführung (Windows)

DB2 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

Mehr

Betriebshandbuch. MyInTouch Import Tool

Betriebshandbuch. MyInTouch Import Tool Betriebshandbuch MyInTouch Import Tool Version 2.0.5, 17.08.2004 2 MyInTouch Installationshandbuch Inhaltsverzeichnis Inhaltsverzeichnis... 2 Bevor Sie beginnen... 3 Einleitung...3 Benötigte Daten...3

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt. Internet, Codes und Update ab Version 13 Um Ihnen einen möglichst schnellen Zugang zu den aktuellsten Programmversionen zu ermöglichen liegen Update-Dateien für Sie im Internet bereit. Es gibt drei Möglichkeiten

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

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf

Mehr

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen) 1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise

Mehr

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

Mehr

NTT DATA Helpdesk Benutzerhandbuch

NTT DATA Helpdesk Benutzerhandbuch NTT DATA Helpdesk Benutzerhandbuch Inhaltsverzeichnis 1 Login... 2 2 Helpdesk... 3 2.1 Homepage... 3 2.1.1 Ticketauswahl... 4 2.1.2 Tabellenvoreinstellungen... 4 2.1.3 Berichte, Auswahl der Einträge in

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. www.blogger.com ist einer davon.

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. www.blogger.com ist einer davon. www.blogger.com Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. www.blogger.com ist einer davon. Sie müssen sich dort nur ein Konto anlegen. Dafür gehen Sie auf

Mehr

Backup der Progress Datenbank

Backup der Progress Datenbank Backup der Progress Datenbank Zeitplandienst (AT): Beachten Sie bitte: Die folgenden Aktionen können nur direkt am Server, vollzogen werden. Mit Progress 9.1 gibt es keine Möglichkeit über die Clients,

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

Die Dateiablage Der Weg zur Dateiablage

Die Dateiablage Der Weg zur Dateiablage Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Durchführung der Datenübernahme nach Reisekosten 2011

Durchführung der Datenübernahme nach Reisekosten 2011 Durchführung der Datenübernahme nach Reisekosten 2011 1. Starten Sie QuickSteuer Deluxe 2010. Rufen Sie anschließend über den Menüpunkt /Extras/Reisekosten Rechner den QuickSteuer Deluxe 2010 Reisekosten-Rechner,

Mehr

Installation/Einrichtung einer Datenbank für smalldms

Installation/Einrichtung einer Datenbank für smalldms Einleitung In den folgenden Seiten werden wir uns damit beschäftigen eine lokale Installation einer MySQL- Datenbank vorzunehmen, um auf dieser Datenbank smalldms aktivieren zu können. Wir werden das XAMPP-Paket

Mehr

FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox

FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox Bitte beachten: Der im folgenden beschriebene Provider "www.cwcity.de" dient lediglich als Beispiel. Cwcity.de blendet recht häufig

Mehr

Für die Bearbeitung von MySQL-Datenbanken ist das Administrationswerkzeug phpmyadmin integriert.

Für die Bearbeitung von MySQL-Datenbanken ist das Administrationswerkzeug phpmyadmin integriert. LocalWebServer V2 for NOF 7.5/8/9/10/11/12 mit MySQL- und SqLite-Datenbank sowie lokalem SMTP-Server Server Die Komponente LocalWebServer ist ein kompletter lokaler Web-Server mit PHP Erweiterung (PHP

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

WordPress. Dokumentation

WordPress. Dokumentation WordPress Dokumentation Backend-Login In das Backend gelangt man, indem man hinter seiner Website-URL einfach ein /wp-admin dranhängt www.domain.tld/wp-admin Dabei gelangt man auf die Administrationsoberfläche,

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012)

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012) Information zum SQL Server: Installieren und deinstallieren (Stand: September 2012) Um pulsmagic nutzen zu können, wird eine SQL-Server-Datenbank benötigt. Im Rahmen der Installation von pulsmagic wird

Mehr

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole Lavid-F.I.S. Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der Lavid Software GmbH Dauner Straße 12, D-41236 Mönchengladbach http://www.lavid-software.net Support:

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Installation und Inbetriebnahme von SolidWorks

Installation und Inbetriebnahme von SolidWorks Inhaltsverzeichnis FAKULTÄT FÜR INGENIEURWISSENSCHAFTEN I Prof. Dr.-Ing. Frank Lobeck Installation und Inbetriebnahme von SolidWorks Inhaltsverzeichnis Inhaltsverzeichnis... I 1. Einleitung... 1 2. Installation...

Mehr

Fotostammtisch-Schaumburg

Fotostammtisch-Schaumburg Der Anfang zur Benutzung der Web Seite! Alles ums Anmelden und Registrieren 1. Startseite 2. Registrieren 2.1 Registrieren als Mitglied unser Stammtischseite Wie im Bild markiert jetzt auf das Rote Register

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

FORUM HANDREICHUNG (STAND: AUGUST 2013)

FORUM HANDREICHUNG (STAND: AUGUST 2013) FORUM HANDREICHUNG (STAND: AUGUST 2013) Seite 2, Forum Inhalt Ein Forum anlegen... 3 Forumstypen... 4 Beiträge im Forum schreiben... 5 Beiträge im Forum beantworten... 6 Besondere Rechte der Leitung...

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle 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

Mehr

Bedarfsmeldungen für Studentische Hilfskräfte und Tutoren erstellen und ändern

Bedarfsmeldungen für Studentische Hilfskräfte und Tutoren erstellen und ändern Anleitung Bedarfsmeldungen für Studentische Hilfskräfte und Tutoren erstellen und ändern Inhalt 1 Der Prozess Studentische Hilfskraft oder Tutor einstellen... 2 2 An- und Abmelden... 3 2.1 Anmelden...

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

Options- und Freitext-Modul Update-Anleitung

Options- und Freitext-Modul Update-Anleitung Options- und Freitext-Modul Update-Anleitung Hinweis... 2 Update für Versionen kleiner als 1.2.4 auf 1.3.x... 3 Update für Versionen ab 1.2.4 auf 1.3.x... 6 Update für Versionen ab 1.3.x auf 2.x.x... 7

Mehr

Planung für Organisation und Technik

Planung für Organisation und Technik Salztorgasse 6, A - 1010 Wien, Austria q Planung für Organisation und Technik MOA-VV Installation Bearbeiter: Version: Dokument: Scheuchl Andreas 19.11.10 MOA-VV Installation.doc MOA-VV Inhaltsverzeichnis

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

DOKUMENTATION ky2help V 3.6 Servertests

DOKUMENTATION ky2help V 3.6 Servertests DOKUMENTATION ky2help V 3.6 Servertests Version: 1.1 Autor: Colin Frick Letzte Änderung: 01.02.2012 Status: Final Fürst-Franz-Josef-Strasse 5 9490 Vaduz Fürstentum Liechtenstein Fon +423 / 238 22 22 Fax

Mehr

teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep

teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep 1. Erstellen Sie ein neues Rechnungsformular Mit book n keep können Sie nun Ihre eigenen

Mehr

Installationsanleitung

Installationsanleitung Installationsanleitung Installationsanleitung 2 VERSIONSVERWALTUNG Version Autor Beschreibung Datum 1.0 Benjamin Hestler Erstellen des Dokuments 12.01.2010 1.1 Benjamin Hestler Erweitern und anpassen der

Mehr

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Version 1.0 Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten In unserer Anleitung zeigen wir Dir, wie Du Blogbeiträge

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Datenaustausch mit Datenbanken

Datenaustausch mit Datenbanken Datenaustausch mit Datenbanken Datenbanken Einführung Mit dem optionalen Erweiterungspaket "Datenbank" können Sie einen Datenaustausch mit einer beliebigen Datenbank vornehmen. Der Datenaustausch wird

Mehr

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Handbuch timecard Connector 1.0.0 Version: 1.0.0 REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Furtwangen, den 18.11.2011 Inhaltsverzeichnis Seite 1 Einführung... 3 2 Systemvoraussetzungen...

Mehr

Inhalt. Inhalt... 1. 1. Voraussetzungen... 2. 2. Liegenschaften und Adressen auswählen... 2. 3. Abgleich mit Internet-Office... 5. 4. Dokumente...

Inhalt. Inhalt... 1. 1. Voraussetzungen... 2. 2. Liegenschaften und Adressen auswählen... 2. 3. Abgleich mit Internet-Office... 5. 4. Dokumente... Erstellt: 19.08.2010 Geändert am: 15.08.2011 Autor: Matthias Frey Version: Kunden Package plus 2.1 Anleitung für UNO Inhalt Inhalt... 1 1. Voraussetzungen... 2 2. Liegenschaften und Adressen auswählen...

Mehr

Leitfaden zur Installation von Bitbyters.WinShutdown

Leitfaden zur Installation von Bitbyters.WinShutdown Leitfaden zur Installation von Bitbyters.WinShutdown für Windows 32 Bit 98/NT/2000/XP/2003/2008 Der BitByters.WinShutDown ist ein Tool mit dem Sie Programme beim Herunterfahren Ihres Systems ausführen

Mehr

Verwendung des IDS Backup Systems unter Windows 2000

Verwendung des IDS Backup Systems unter Windows 2000 Verwendung des IDS Backup Systems unter Windows 2000 1. Download der Software Netbackup2000 Unter der Adresse http://www.ids-mannheim.de/zdv/lokal/dienste/backup finden Sie die Software Netbackup2000.

Mehr

Handbuch ZfEditor Stand 24.08.2012

Handbuch ZfEditor Stand 24.08.2012 Handbuch ZfEditor Stand 24.08.2012 Inhaltsverzeichnis Einführung... 1 Ansprechpartner... 1 Installation und Update... 1 Installation... 1 Update... 2 Bedienung des ZfEditors... 2 Aufruf... 2 Auswahl Gemeinde,

Mehr

Diese Anleitung beschreibt das Vorgehen mit dem Browser Internet Explorer. Das Herunterladen des Programms funktioniert in anderen Browsern ähnlich.

Diese Anleitung beschreibt das Vorgehen mit dem Browser Internet Explorer. Das Herunterladen des Programms funktioniert in anderen Browsern ähnlich. Die Lernsoftware Revoca Das Sekundarschulzentrum Weitsicht verfügt über eine Lizenz bei der Lernsoftware «Revoca». Damit können die Schülerinnen und Schüler auch zu Hause mit den Inhalten von Revoca arbeiten.

Mehr

Installationsanleitung. Update ATOSS SES 2.40 für Windows ATOSS Server

Installationsanleitung. Update ATOSS SES 2.40 für Windows ATOSS Server Installationsanleitung Update ATOSS SES 2.40 für Windows ATOSS Server Einleitung 1 Beenden der ATOSS-Prozesse am Server 1 Die Installation des Updates am Servers 2 Die Installation des Updates an allen

Mehr

BEDIENUNG ABADISCOVER

BEDIENUNG ABADISCOVER BEDIENUNG ABADISCOVER Juni 2005 / EMO v.2005.1 Diese Unterlagen sind urheberrechtlich geschützt. Alle Rechte, auch die der Übersetzung, des Nachdrucks und der Vervielfältigung der Unterlagen, oder Teilen

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Startseite von Prinect Remote Access

Startseite von Prinect Remote Access 1 Kurzanleitung: Seitenabnahme in Prinect Remote Access Startseite von Prinect Remote Access Nach Ihrer Anmeldung über das Internet sehen die Startseite von Prinect Remote Access. (Falls Sie das Sicherheitszertifikat

Mehr

PHPNuke Quick & Dirty

PHPNuke Quick & Dirty PHPNuke Quick & Dirty Dieses Tutorial richtet sich an all die, die zum erstenmal an PHPNuke System aufsetzen und wirklich keine Ahnung haben wie es geht. Hier wird sehr flott, ohne grosse Umschweife dargestellt

Mehr

Themen. Apache Webserver Konfiguration. Verzeichnisse für Web-Applikationen. Server Side Includes

Themen. Apache Webserver Konfiguration. Verzeichnisse für Web-Applikationen. Server Side Includes Themen Apache Webserver Konfiguration Verzeichnisse für Web-Applikationen Server Side Includes Apache Webserver Konfiguration des Apache Webservers Server-Einstellungen in der httpd.conf-datei Einteilung

Mehr

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications Windows 8 Systemsteuerung > Programme > Windows Features aktivieren / deaktivieren > Im Verzeichnisbaum

Mehr

Handbuch zum Excel Formular Editor

Handbuch zum Excel Formular Editor Handbuch zum Excel Formular Editor Mit diesem Programm können Sie die Zellen von ihrer Excel Datei automatisch befüllen lassen. Die Daten können aus der Coffee Datenbank, oder einer weiteren Excel Datendatei

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

INSTALLATION. Voraussetzungen

INSTALLATION. Voraussetzungen INSTALLATION Voraussetzungen Um Papoo zu installieren brauchen Sie natürlich eine aktuelle Papoo Version die Sie sich auf der Seite http://www.papoo.de herunterladen können. Papoo ist ein webbasiertes

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

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

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

Installationsanleitung für Magento-Module

Installationsanleitung für Magento-Module Installationsanleitung für Magento-Module Installation durch die Modulwerft Wenn Sie es wünschen, können Sie das Modul durch unseren Installationsservice in Ihrem Shopsystem sicher und schnell installieren

Mehr

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Anleitung zur Erstellung einer Batchdatei - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Mögliche Anwendungen für Batchdateien: - Mit jedem Systemstart vordefinierte Netzlaufwerke

Mehr

Kleines Handbuch zur Fotogalerie der Pixel AG

Kleines Handbuch zur Fotogalerie der Pixel AG 1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link

Mehr

HTBVIEWER INBETRIEBNAHME

HTBVIEWER INBETRIEBNAHME HTBVIEWER INBETRIEBNAHME Vorbereitungen und Systemvoraussetzungen... 1 Systemvoraussetzungen... 1 Betriebssystem... 1 Vorbereitungen... 1 Installation und Inbetriebnahme... 1 Installation... 1 Assistenten

Mehr

Live Update (Auto Update)

Live Update (Auto Update) Live Update (Auto Update) Mit der Version 44.20.00 wurde moveit@iss+ um die Funktion des Live Updates (in anderen Programmen auch als Auto Update bekannt) für Programm Updates erweitert. Damit Sie auch

Mehr

Patch Management mit

Patch Management mit Patch Management mit Installation von Hotfixes & Patches Inhaltsverzeichnis dieses Dokuments Einleitung...3 Wie man einen Patch installiert...4 Patch Installation unter UliCMS 7.x.x bis 8.x.x...4 Patch

Mehr

Einführungskurs MOODLE Themen:

Einführungskurs MOODLE Themen: Einführungskurs MOODLE Themen: Grundlegende Einstellungen Teilnehmer in einen Kurs einschreiben Konfiguration der Arbeitsunterlagen Konfiguration der Lernaktivitäten Die Einstellungen für einen Kurs erreichst

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern.

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern. Tutorial In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern. Zu Beginn müssen wir uns über die gewünschten Sprachen Gedanken machen. Zum einem, da eine professionelle

Mehr

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1 Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------

Mehr

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis www.wir-lieben-shops.de 1

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis www.wir-lieben-shops.de 1 Beispiel Shop-Eintrag Ladenlokal & Online-Shop. Als Händler haben Sie beim Shop-Verzeichnis wir-lieben-shops.de die Möglichkeit einen oder mehrere Shop- Einträge zu erstellen. Es gibt 3 verschiedene Typen

Mehr

Internet online Update (Internet Explorer)

Internet online Update (Internet Explorer) Um Ihr Consoir Beta immer schnell und umkompliziert auf den aktuellsten Stand zu bringen, bieten wir allen Kunden ein Internet Update an. Öffnen Sie Ihren Internetexplorer und gehen auf unsere Internetseite:

Mehr

Kostenstellen verwalten. Tipps & Tricks

Kostenstellen verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4

Mehr

DOKUMENTATION VOGELZUCHT 2015 PLUS

DOKUMENTATION VOGELZUCHT 2015 PLUS DOKUMENTATION VOGELZUCHT 2015 PLUS Vogelzucht2015 App für Geräte mit Android Betriebssystemen Läuft nur in Zusammenhang mit einer Vollversion vogelzucht2015 auf einem PC. Zusammenfassung: a. Mit der APP

Mehr

Meine erste Homepage - Beispiele

Meine erste Homepage - Beispiele Meine erste - Beispiele 1. Beispiel meine Willkommen auf meiner Befehle nicht über Hier ist ein Senior, der noch fit für's Internet ist. Probieren wir

Mehr

Demopaket FDFsolutions für Windows, Version 1.73, Voraussetzungen & Installation. (Stand 25.07.2005)

Demopaket FDFsolutions für Windows, Version 1.73, Voraussetzungen & Installation. (Stand 25.07.2005) Demopaket FDFsolutions für Windows, Version 1.73, Voraussetzungen & Installation. (Stand 25.07.2005) 1.) Systemvoraussetzungen: PC mit Betriebssystem Microsoft Windows (ab Version 98 SE oder neuer, empfohlen

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr