Heinz Axel Pürner. Eine Einführung in die Entwicklung von Internet-Anwendungen mit DB2 und Net.Data. Leitfaden zur Anwendungsentwicklung

Größe: px
Ab Seite anzeigen:

Download "Heinz Axel Pürner. Eine Einführung in die Entwicklung von Internet-Anwendungen mit DB2 und Net.Data. Leitfaden zur Anwendungsentwicklung"

Transkript

1 Heinz Axel Pürner 'DWHQEDQNJHVW W]WH :HE$QZHQGXQJHQOHLFKWHUVWHOOW Eine Einführung in die Entwicklung von Internet-Anwendungen mit DB2 und Net.Data Leitfaden zur Anwendungsentwicklung Pürner Publikationen Dortmund

2 Heinz Axel Pürner Datenbankgestützte Web-Anwendungen leicht erstellt Eine Einführung in die Entwicklung von Internet-Anwendungen mit DB2 und Net.Data Mit 45 Abbildungen Pürner Publikationen, Dortmund

3 Pürner, Heinz Axel Eine Einführung in die Entwicklung von Internet-Anwendungen mit DB2 und Net.Data Eine Einführung in die Entwicklung von Internet-Anwendungen mit DB2 und Net.Data Pürner Publikationen, Dortmund, 2002 Autoren und Verlag übernehmen für die Fehlerfreiheit der Programme keine Gewährleistung oder Haftung. Der Verlag übernimmt keine Gewähr dafür, daß die beschriebenen Verfahren, Programme usw. frei von Schutzrechten Dritter sind. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Speicherung und Verarbeitung in elektronischen Systemen. Pürner Publikationen, Von-der-Tann-Str. 14, Dortmund, 2002 Layout und Herstellung: Beate Pürner, Pürner Technische Dokumentation, Dortmund

4 Inhalt Vorwort... vi 1. Einführung in Net.Data Überblick Installation Erste Schritte Das Anwendungsbeispiel Das Benutzerkonzept Grundsätzliches Das Konzept Die Realisierung Der Erfassungsdialog Die Maske Die Datenbank-Zugriffe Pflege der Tabelle UMSATZ Lesen der Tabelle KOA Das Makro umsins.d2w iv

5 5. Der Dialog zur Anzeige und Pflege Die Masken Realisierung des Anzeige-Dialogs Zugriff auf Tabelle UMSATZ Das Makro umsqueryp.mac Realisierung des Pflege-Dialogs Datenbank-Zugriffe im Pflege-Dialog Das Makro umsupd.d2w Stichwortverzeichnis v

6 Vorwort Mit diesem Leitfaden zur Anwendungsentwicklung möchte ich aufzeigen, wie sich mit DB2 und Net.Data unter LINUX und auch Windows einfache Intranet-Anwendungen leicht, aber unter Ausnutzung moderner DB2-Konstrukte erstellen lassen. Ich wende mich an Anwendungsentwickler mit DB2-Kenntnissen, die sich nicht unbedingt in der ebusiness-umgebung zu Hause fühlen und Intranet-Anwendungen ohne aufwendige JAVA-Programmierung erstellen möchten. Unter einfachen Intranet-Anwendungen verstehe ich Datenerfassung- und Pflege- Systeme für Stamm- und Bewegungsdaten. Das Intranet erlaubt den Zugriff von wenigen Dutzend Benutzern auf die Datenbank über ein lokales Netzwerk mit relativ kleinen Servern und beliebigen Clients, die über einen Web-Browser verfügen. Die Server können unter einem Betriebssystem laufen, das einen Web-Server beherbergt, zum Beispiel LINUX mit Apache. Als Alternative habe ich auch Windows NT mit IBM HTTP Server getestet. Die genutzten Web-Browser sind MS Internet Explorer ab Version 5.5, Netscape Navigator ab Version 6 und Mozilla ab M17. Die Version 4.7 von Netscape hat Probleme mit den JavaScript-Beispielen und fällt auch in der Darstellung deutlich hinter die anderen Browser zurück. Der Datensicherheit habe ich besondere Aufmerksamkeit gewidmet und die besonderen Möglichkeiten von DB2 ausgenutzt. Für die Datenbank-Zugriffe nutze ich Stored Procedures, um den Anwender so weit wie möglich von den Daten fern zu halten und um ihn mit nur minimalen Berechtigungen auszustatten. Die Stored Procedures habe ich mit dem Stored Procedure Builder in SQL und JAVA erstellt. Die Net.Data-Makros habe ich mit den Net.Data SmartGuides generiert, weil diese den Aufruf von Stored Procedures direkt unterstützen. Für Makros mit den eingebetteten vi

7 SQL-Befehlen SELECT, INSERT, DELETE, UPDATE können Sie auch Net-Data Assist zur Generierung benutzen. Hinsichtlich der HTML-Seiten und der darin enthaltenen JavaScripts habe ich nicht versucht, Maßstäbe zu setzen. Vielmehr habe ich meiner Experimentierfreudigkeit freien Lauf gelassen und teilweise gewagte Farbkombinationen und Schriftarten gewählt. Es bleibt Ihnen als Leser überlassen, hier Ihr persönliches Layout einzubringen. Die Beispiele sollen Ihnen vor allem eine getestete DB2- und Net.Data-Anwendung präsentieren, die Ihnen grundlegende Lösungsmöglichkeiten aufzeigt. Für die Funktionsfähigkeit des gezeigten Codes in Ihrem Umfeld sowie für mögliche Folgeschäden aus Ihrer Nutzung übernehme ich keinerlei Gewährleistung oder Haftung. Der Leitfaden hat den folgenden Aufbau: Kapitel 1, Einführung in Net.Data, beschreibt Net.Data und gibt Installationshinweise. Kapitel 2, Das Anwendungsbeispiel, erläutert die Aufgabenstellung. Kapitel 3, Das Benutzerkonzept, behandelt das Benutzerkonzept und seine Realisierung. In Kapitel 4, Der Erfassungsdialog, beschreibe ich den Erfassungsdialog und seine Implementierung. In Kapitel 5, Der Dialog zur Anzeige und Pflege, beschreibe ich den Anzeige- und Pflege-Dialog und seine Umsetzung in Net.Data-Makros und DB2 Stored Procedures. Am Ende des Buches finden Sie noch das Stichwortverzeichnis. Der Autor Dipl.-Ing. Dipl.-Ök. H. A. Pürner, besitzt langjährige Erfahrungen als Datenbank-Administrator, Berater und Projekt-Manager und ist bekannt durch Seminare, Vorträge und Veröffentlichungen zu seinen Fachgebieten. Seit 1986 ist er Inhaber der Pürner Unternehmensberatung - Ingenieurbüro für Informationstechnologie - Von-der-Tann-Str. 14, Dortmund Tel / vii

8 1. Einführung in Net.Data 1.1 Überblick Datenbankgestützte Web-Anwendungen leicht erstellt Net.Data ist ein CGI-Skriptsprache 1, die den Zugriff auf DB2-Datenbanken erlaubt. Es unterstützt auch Zugriffe auf ORACLE- und andere ODBC-fähige Datenbanken sowie den Aufruf von Programmen in diversen Sprachen, z.b. JAVA oder REXX. Sie können mit Net.Data durchaus leistungsfähige Anwendungen entwickeln. Net.Data ist auf allen Plattformen verfügbar, auf denen DB2 UDB (Universal Database) verfügbar ist, von OS2- oder Windows-System bis zum Mainframe unter z/os. Die aktuelle Version ist 7.2, stimmt also in der Nummerierung mit der aktuellen DB2-Version überein. Net.Data ist in vielen DB2-Varianten kostenlos enthalten. Da die IBM die Zusammenstellung ihrer Produktpakete von Zeit zu Zeit ändert, sollten Sie sich im Bedarfsfall davon überzeugen, daß bei Ihrer DB2-Bestellung Net.Data mitgeliefert wird. Net.Data steht heute sicher im Schatten von Web-Applikationsservern wie WebSphere, die zweifellos mehr Flexibilität und mehr Leistung bieten. Doch für kleine Anwendungen in mittelständischen Betrieben ist ein solcher Applikationsserver viel zu aufwendig von der Installation und vom Betrieb her und von den Anschaffungskosten zu teuer. Ich benutze in diesem Leitfaden Net.Data in seiner einfachsten Konfiguration ohne FastCGI, ohne Direktverbindungen, ohne XML. Ich glaube so eine Leitfaden anbieten zu können, wie Sie mit einem Minimum an Aufwand und Vorkenntnissen einfache Anwendungen erstellen können. 1. CGI Common Gateway Interface 1-1

9 Einführung in Net.Data 1.2 Installation Auf der CD-Rom mit Net.Data sind die Versionen für die verschiedenen Betriebssysteme (Win NT, OS2, LINUX, AIX, HP-UX, Sun Solaris) enthalten. Der Umfang der Net.Data-Komponenten ist je nach Ziel-Plattform unterschiedlich. So gibt es zum Beispiel einen sehr nützlichen SmartGuide unter Windows, aber nicht unter LINUX (obwohl das eine JAVA-Anwendung ist). LINUX Windows LINUX Für LINUX ist ein RPM-Paket vorhanden, das mit dem Utility rpm oder einem GUI-Werkzeug wie gnorpm installiert werden kann. Zielverzeichnis ist /opt/netdata. Dabei werden die Voraussetzungen für die Installation abgeprüft. Mögliche Hinweise auf fehlende REXX- oder JAVA-Umgebungen können ignoriert werden. Auch der Hinweis, daß die Datei libdb2.so.1 nicht gefunden wurde, ist nicht besorgniserregend. Sie müssen diese ohnehin mit dem Verzeichnis /lib verknüpfen, damit die DB2-Zugriffe aus Net.Data korrekt funktionieren, ohne aufwendige Pfad-Erweiterungen durchführen zu müssen: ln sf /usr/ibmdb2/v7.1/lib/libdb2.so.1 /lib/ Für Windows NT oder 2000 steht ein Setup-Programm zur Verfügung, das in bekannter Windows-Manier Net.Data installiert. Standard-Zielverzeichnis ist DB2WWW. Wegen der Fragen beim Installationsprozeß sollten Sie sich vorher vergewissern, welchen Web- Server Sie nutzen und welche Arbeitsumgebung er nutzt. In beiden Fällen bleiben einige Nacharbeiten übrig, die der Systemverwalter durchzuführen hat. Unter LINUX finden Sie in /opt/netdata eine Datei TODO, in der je nach Web-Server unterschiedliche Befehle zur Ausführung aufgelistet sind. In TODO werden Net.Data-Dateien und Verzeichnisse mit der Arbeitsumgebung des Web-Servers verknüpft. Falls Sie den IBM HTTP Server benutzen, finden Sie seine Arbeitsumgebung, aus der Dokumente und Grafiken lädt, unter dem angegeben Pfad / opt/ibmhttpserver/. Falls Sie den Apache Server direkt benutzen wollen, kann je nach installierter LINUX-Variante der Pfad der Arbeitsumgebung von den TODO-Angaben abweichen. Während unter meinem installierten Red Hat 7 der vorgesehene Pfad /var/ www/ benutzt wird, wird unter meinem installierten SuSE 8 der Pfad /usr/local/httpd/ genutzt. Bevor Sie TODO ausführen, müssen Sie also die entsprechenden Pfad-Ände- 1-2

10 Einführung in Net.Data rungen darin vornehmen. Außerdem ist der Apache Server nicht damit zufrieden, daß das CGI-Skript db2www.cgi, welches die Net.Data-Makros ausführt, nur mit dem Arbeitsverzeichnis cgi-bin des Web-Servers verknüpft wird, sondern die Datei muß da hinein kopiert werden. Auf die Notwendigkeit, libdb2.so.1 mit /lib zu verknüpfen, habe ich schon hingewiesen. Das Net.Data-Handbuch Verwaltung und Programmierung empfiehlt, ergänzende Eintragungen in der Konfigurationsdatei des Web-Server (üblicherweise httpd.conf im Pfad /etc/httpd) zu machen, zum Beispiel: sowie SetEnv DB2INSTANCE db2inst1 2 SetEnv LD_LIBRARY_PATH /opt/netdata/lib:$ld_library_path SetEnv LANG de_de LoadModule db2www_module /opt/netdata/lib/libmod_db2www.so AddHandler db2www-handler.db2www Fügen Sie in die Konfigurationsdatei des Web-Server die empfohlene Anweisung Load- Module für libmod_db2www.so ein, so beschwert sich der Apache Server bei jedem Start, daß das Modul nicht das Enhanced API benutzt, was für SSL 3 -Module benötigt wird. Nach meinen Erfahrungen kann darauf auch verzichtet werden, weil libmod_db2www.so mit /lib verknüpft wird. Mit der empfohlenen Anweisung AddHandler verkürzen Sie den Aufruf von Net.Data- Makros, weil Sie den CGI-Pfad und das Skript nicht mehr angeben müssen. Sicher auch ein Beitrag zur Datensicherheit, wenn diese Informationen nicht außen gelangen. Ich benutze in den Makros allerdings nicht den verkürzten und damit sicheren Pfad, weil dieser nicht mit allen Web-Servern realisierbar ist. Zum Beispiel rufe ich eine Folge-Verarbeitung auf: /cgi-bin/db2www.cgi/umsins.d2w/modify 2. Bitte tragen Sie Ihren Instanz-Namen ein, wenn er vom Standard abweicht 3. SSL Secure Sockets Layer 1-3

11 Einführung in Net.Data Die verkürzte Version ist entsprechend: /.db2www/umsins.d2w/modify Bitte benutzen Sie möglichst die kurze Form. Windows Unter Win NT finden Sie in einer Readme-Datei in DB2WWW die Anweisungen, was Sie je nach Web-Server, Netscape Server, IBM HTTP Server 4 bzw. Apache Server oder MS Internet Server, noch zu tun haben. 1.3 Erste Schritte Unter Win NT habe ich Net.Data mit dem IBM HTTP Server getestet. In dieser Konfiguration empfehle ich Ihnen die nicht in der HTTP-Konfigurationsdatei definierten DLLs nach \winnt\system32 zu kopieren, damit sie auch wirklich gefunden werden das Net.Data-Werkzeug für die Administration nicht zu verwenden, weil es offensichtlich die Leerzeichen im Verzeichnisnamen \IBM HTTP Server nicht behandeln kann. Mit Net.Data Version 7.2 installieren Sie zwei Makros hello.d2w und template.d2w, mit denen Sie die Lauffähigkeit Ihrer Installation testen können. Das Makro hello.d2w von Version 7.2 muß nicht angepaßt werden und sollte Ihnen im Web-Browser sofort Hello World! antworten. 4. Der IBM HTTP Server basiert auf Apache 1-4

12 Einführung in Net.Data Bild 1-1: Makro hello.d2w Das Makro template.d2w greift auf die Datenbank SAMPLE zu und muß daher eine korrekte Benutzer-ID (Variable LOGIN) mit DB2-Berechtigung für SAMPLE und das zugehörige Paßwort (Variable PASSWORD) erhalten. Je nach verwendeter Benutzer-ID müssen Sie den Tabellennamen (Variable table1) noch qualifizieren: Im allgemeinen wird die Beispiel-Datenbank bei der DB2-Installation eingerichtet, so daß die Tabellennamen mit der Benutzer-ID des DB2-Systemadministrators qualifiziert sind. Diesen Benutzer sollen Sie aber nicht mit seinem Paßwort in dem Makro eintragen. Dann kann das Makro aufgerufen werden. 1-5

13 Einführung in Net.Data Bild 1-2: Aufruf Makro template.d2w Nach erfolgreichen Datenbank-Zugriffen erhalten Sie zwei Tabellen als Ergebnis. 1-6

14 Einführung in Net.Data Bild 1-3: Ergebnis von Makro template.d2w Wenn die Installation erfolgreich getestet wurde, können Sie mit der Entwicklung Ihrer Net.Data-Anwendungen beginnen. 1-7

15 2. Das Anwendungsbeispiel Als Beispiel habe ich eine einfache Erfassung, Anzeige und Pflege von Umsätzen gewählt bewußt ohne Multimedia-Daten. Als Freiberufler nutze ich nämlich eine ähnliche Lösung für meine steuerliche Einnahme-Überschuß-Ermittlung. Sie können sicher den Umsatz-Datensatz durch Bestellsätze, Lagerzu- oder -abgänge oder andere fachliche Transaktionen ersetzen. Das Prinzip von Erfassung, Anzeige und Pflege bleibt im Wesentlichen gleich. Der Umsatz-Datensatz enthält das Vorgangsdatum, eine Umsatz- oder Kostenart, eine textliche Bezeichnung, Netto- und Bruttobetrag, Umsatzsteuersatz und Umsatzsteuerbetrag. Die Anwendung besteht aus einigen Webseiten, die in einem dreiteiligen Frameset aufgerufen werden. Alle Webseiten der Anwendung werden aus Net.Data-Makros generiert. 2-1

16 Das Anwendungsbeispiel Bild 2-1: Frameset mit Aufruf der Umsatzerfassung bewußt ein farbger Kontrast zu dem grau-blauen Einerlei üblicher GUI-Anwendungen Dialogstruktur Der Dialog zur Erfassung oder Anzeige und Pflege von Umsätzen hat folgende einfache Struktur: Nach der erfolgreichen Anmeldung kann der Anwender in einer Menü-Maske zwischen Umsatzerfassung und Umsatzanzeige und -pflege wählen. Bei der Umsatzerfassung füllt er eine Leermaske aus und sendet sie ab. Mit der Erfolgsmeldung der Abspeicherung erhält er zugleich die nächste Leermaske. 2-2

17 Das Anwendungsbeispiel Bild 2-2: Dialogstruktur der Anwendung Umsatzerfassung Anmeldung Menü Erfassung Auswahl Anzeige Anzeige Pflege Erfolgsmeldung Bei der Umsatzanzeige und -pflege erhält der Anwender zunächst eine Auswahlmaske, in der er anzuzeigende Umsätze nach Zeitraum und Kostenart auswählen kann. Die gefundenen Umsätze werden ihm in der nächsten Maske angezeigt. In dieser Maske kann er einen Umsatz zur Pflege, d.h. zum Ändern oder Löschen auswählen. Der 2-3

18 Das Anwendungsbeispiel ausgewählte Umsatz kann in der folgenden Maske überschrieben werden. Mit einem Radio-Knopf gibt der Anwender an, ob er ändern oder löschen will. Nach der Erfolgsmeldung über die durchgeführte Änderung kann der Anwender zur Eingabe der Auswahlkriterien zurückspringen. Zusätzlich kann aus jedem Dialogschritt in das Menü zurückgesprungen werden. Darüber hinaus kann der Anwender zwangsweise zum Anmelde-Dialog verzweigt werden, falls er nicht mehr als angemeldet gilt (siehe Kapitel 3.2, Das Konzept, Seite 3-2). Bei Erfassung und Änderung muß der Benutzer nur einen Betrag zu erfassen und den Umsatzsteuersatz auszuwählen, Umsatzsteuerbetrag und der verbleibende Netto-/Bruttobetrag werden automatisch errechnet. Datenbankstruktur Entsprechend ihrer schlichten Datenstruktur benötigt die Anwendung nur zwei Tabellen. Die Tabelle UMSATZ enthält die eigentlichen Umsätze, die Tabelle KOA ist eine reine Schlüsseltabelle für die Umsatzart: Zu jeder Umsatzart ist hier der erläuternde Text gespeichert. Die Tabelle KOA hat folgende Struktur: Tabelle KOA CREATE TABLE "DB2INST1"."KOA" ( "KOA" SMALLINT NOT NULL PRIMARY KEY, "TEXT" CHAR(24) ) IN "USERSPACE1" ; Die Tabelle UMSATZ ist wie folgt definiert: Tabelle UMSATZ CREATE TABLE "DB2INST1"."UMSATZ" ( "LFD_NR" INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( START WITH +1, INCREMENT BY +1, CACHE 20 ), "TT" DECIMAL(5,0) NOT NULL CONSTRAINT "TAG" CHECK (TT between 1 and 31), "MM" DECIMAL(2,0) NOT NULL CONSTRAINT "MONAT" CHECK (MM between 1 and 12), "JAHR" DECIMAL(4,0) NOT NULL CONSTRAINT "JAHR" CHECK (JAHR > 1985);, "KOA" DECIMAL(3,0) NOT NULL, "TEXT" CHAR(32) NOT NULL, "BETRAG_EURO" DECIMAL(15,2) NOT NULL, "NETTO_EURO" DECIMAL(15,2) NOT NULL, "UMST_EURO" DECIMAL(15,2) NOT NULL, 2-4

19 Das Anwendungsbeispiel ) "UMST_SATZ" DECIMAL(8,5) NOT NULL CONSTRAINT "UMST" CHECK (UMST_SATZ >= 0), "TIMEST" TIMESTAMP NOT NULL WITH DEFAULT CURRENT TIMESTAMP, PRIMARY KEY ("LFD_NR"), FOREIGN KEY ( KOA ) REFERENCES DB2INST1. KOA ( KOA ) ON DELETE RESTRICT ON UPDATE NO ACTION IN "USERSPACE1" ; Zur eindeutigen Identifizierung der Umsätze wird automatisch eine laufende Nummer als Schlüssel generiert. Der Anwender sieht diesen Schlüssel nicht. Die Anwendung macht aber intern davon Gebrauch. Einige elementare Prüfbedingungen (CHECK Constraints) stellen sicher, daß unabhängig von der Eingabequelle neue Zeilen nicht gegen diese Bedingungen verstoßen können. Die Fremdschlüsselbeziehung zur Tabelle KOA stellt sicher, daß nur dort definierte Umsatzarten eingeben werden dürfen. Der Zeitstempel TIMEST in der Tabelle wird wie LFD_NR nur für die interne Verarbeitung benötigt. Über ihn wird die konkurrierende Verarbeitung koordiniert. In Bild 2-3 sehen Sie wie die Tabellen-Definitionen mit der Befehlszentrale angelegt wurden. 2-5

20 Das Anwendungsbeispiel Bild 2-3: Anlegen der Tabellen mit der Befehlszentrale 2-6

21 3. Das Benutzerkonzept 3.1 Grundsätzliches Gerade bei Internet-/Intranet-Anwendungen spielt die Sicherheit eine große Rolle. Daß das TCP/IP-Netzwerk eine beliebte Schwachstelle ist, die zum unbefugten Eindringen oder Entwenden von Informationen ausgenutzt wird, ist bestens bekannt. Daher lege ich in diesem Beispiel besondern Wert darauf, daß die Daten in der Datenbank vom Anwender optimal abgeschirmt werden. Ich stütze mich dabei auf die speziellen Vorteile von DB2, das es ermöglicht, Nutzern nur eine Berechtigung zur Ausführung von SQL-Befehlen eines Paketes (Package) einzuräumen. Die Nutzer erhalten dabei keine Rechte, direkt auf die Daten zuzugreifen. Net.Data interpretiert seine Makros zum Zeitpunkt des Aufruf. In den Makros enthaltene SQL-Befehle werden daher als dynamisches SQL abgesetzt, d.h. das SQL wird nicht vorübersetzt, in ein DBRM 1 extrahiert und mit BIND kompiliert. Daher gibt es für die in den Makros eingebetteten SQL-Befehle keine Packages. Eine Lösung dieses Problems bieten Stored Procedures, die von Net.Data aufgerufen werden. Darin können Sie alle Datenbank-Zugriffe kapseln, so daß keine detaillierten SQL-Befehle mehr in den Makros abgelegt werden müssen. Wenn Sie nun statisches SQL in den Stored Procedures codieren, erhalten Sie wiederum die gewünschten Packages, für deren Ausführung die Benutzer dann nur berechtigt werden müssen. 1. DBRM Data Base Request Module 3-1

22 Das Benutzerkonzept 3.2 Das Konzept In der Beispiel-Anwendung Umsatzerfassung habe ich um dieses Prinzip der Abschirmung herum folgende Vorgehensweise gewählt: Als ersten Schritt im Dialog der Umsatzerfassung muß sich der Anwender mit seiner Benutzerkennung und seinem Paßwort anmelden. Damit wird der erste Datenbank- Zugriff ausgeführt. D.h. der Anwender muß in DB2 und im dahinter liegenden Sicherheitssystem 2 des Servers registriert sein. Der Datenbank-Zugriff erfolgt gegen eine Nutzer-Tabelle, in der nur die Anwender eingetragen sind, die für die Anwendung zugelassen sind. Ist der sich Anmeldende zugelassen, wird in der Tabelle der Zeitstempel für diesen Benutzer aktualisiert. Bei jedem weiteren Datenbank-Zugriff wird anhand des Zeitstempels überprüft, wie lange der letzte Zugriff zurückliegt. Sind mehr als 200 Sekunden vergangen, so wird der Anwender als nicht mehr angemeldet angesehen und zum Anmelde-Dialog verzweigt. Sie können das Anmelde-Intervall auch größer wählen, weil der Anwender zwischendurch telefonieren oder zu Aktenschrank gehen möchte. Sie können dann für Pflege- Aktionen ein kleineres Intervall setzen, in dem ein zu verändernder Umsatz zurückgeschrieben werden muß. Dazu kann ein Zeitstempel in der Tabelle Umsatz dienen. Nehmen Sie die Sicherheitsvorkehrungen ernst! Erfahrungsgemäß sperrt kein Anwender seinen PC, wenn er ins Nachbarbüro gerufen wird oder aufs Klo geht. Und der PC wird dann häufig unbewacht und mitten in einer Anwendung zurückgelassen. Die Benutzerkennung (ohne Paßwort) wird für diese Prüfung zwischen den Dialogschritten weitergereicht. Die weiteren Dialogschritte nach der Anmeldung laufen DB2-seitig unter einem Standard-Benutzer WSDEMO ab, der nur über die Ausführungsberechtigung der Stored Procedure mit den Zugriffen auf die Umsatz-Tabelle verfügt. Andere Anwender (außer dem Ersteller der Stored Procedure natürlich) besitzen dazu keine Berechtigung. WSDEMO ist zwar mit Paßwort in den Makros fest eingetragen. Da er keine weiteren Berechtigungen hat, ist dies durchaus akzeptabel. Benutzerkennung und Paßwort werden nicht in den generierten HTML-Seiten übertragen. 2. DB2 führt die Benutzer-Authentifizierung nicht selbst durch, sondern nutzt dazu die Einrichtungen des Betriebssystems oder einer speziellen Sicherheitssoftware wie Kerberos. 3-2

23 Das Benutzerkonzept Die Zugriffe auf die Nutzer-Tabelle liegen in einer Stored Procedure, deren Ausführung jedem DB2-Nutzer (PUBLIC) gestattet ist. Direkte Lese- oder Änderungsrechte an dieser Tabelle besitzt nur der Datenbank-Administrator, der sie auch angelegt hat. (Einen speziellen Pflege-Dialog für diese Tabelle habe ich hier vernachlässigt.) Die Anwender müssen also als DB2-Benutzer auf dem Server registriert sein und die Berechtigung haben, die Stored Procedure zum Zugriff auf die Nutzer-Tabelle ausführen zu können. Weitere DB2-Berechtigungen sind nicht notwendig. Die Anwendung läuft mit dem Standard-Benutzer WSDEMO, der nur zwei Stored Procedures ausführen kann. 3.3 Die Realisierung Tabelle NUTZER Die Tabelle NUTZER hat folgenden Aufbau: CREATE TABLE "DB2INST1 "."NUTZER" ( "NID" CHAR(8) NOT NULL PRIMARY KEY, "NAME" CHAR(24) NOT NULL, " " VARCHAR(32) NOT NULL, "ABTEILUNG" CHAR(8) NOT NULL, "ORT" CHAR(24) NOT NULL WITH DEFAULT Zentrale, "TIMEST" TIMESTAMP NOT NULL WITH DEFAULT CURRENT TIMESTAMP) IN "USERSPACE1" ; Für das Benutzerkonzept benötige ich nur die Spalten NID und TIMEST. Die anderen Spalten sind Vorschläge dafür, wie eine firmeninterne Anwender-Tabelle mit nützlichen beschreibenden Daten wie Name, -Adresse, Abteilung und Standort aufgebaut sein kann. Stored Procedure NUTZER Die Zugriffe liegen in einer Stored Procedure NUTZER, die ich mit dem Stored Procedure Builder erstellt habe. Leider ist der Stored Procedure Builder (StPB) zur Zeit nicht unter LINUX verfügbar, so daß man aus Komfortgründen leider noch nicht auf einen Windows-Client verzichten kann. Der Stored Procedure Builder unterstützt die Erstellung von Stored Procedures in JAVA oder prozeduralem SQL durch Assistenten. Daher ist es mit minimalen Kenntnissen von JAVA oder prozeduralem SQL möglich, lauffähige Datenkapseln zu erstellen. 3-3

24 Das Benutzerkonzept Ich habe für den LINUX-Server die Stored Procedure NUTZER in prozeduralem SQL folgendermaßen erstellt. Bild 3-1: SQL-Prozedur mit dem StPB- Assistenten erstellen 3-4

25 Das Benutzerkonzept Vom Windows-Client aus greife ich auf die Datenbank TEST auf meinem LINUX-Server zu. In der Datenbank habe ich bereits die Tabelle NUTZER angelegt, damit der Stored Procedure Builder daraus SQL-Befehle generieren kann. Wie in Bild 3-1 gezeigt, rufe ich die Erstellung einer neuen Stored Procedure über das Kontext-Menü des Objekts Gespeicherte Prozeduren auf. Bild 3-2: Stored Procedure NUTZER mit dem StPB- Assistenten erstellen Der Assistent fragt zuerst nach dem Name der Stored Procedure. 3-5

26 Das Benutzerkonzept Bild 3-3: Struktur der Stored Procedure NUTZER für den StPB-Assistenten vorgeben Im zweiten Fenster des StPB-Assistenten gebe ich die Struktur der Prozedur vor. Sie soll mehrere SQL-Befehle enthalten, die bei verschiedenen Aufrufen angesteuert werden. Der StPB-Assistent generiert dann einen Eingabe-Parameter, der den Funktionscode zur Auswahl des gewünschten SQL-Befehls enthält. Als Ausgabe-Parameter lasse ich den SQLCODE generieren, den ich im Net.Data- Makro auswerten möchte. 3-6

27 Das Benutzerkonzept Die benötigten SQL-Befehle kann ich in das dritte Fenster des StPB-Assistenten direkt eingeben oder mit Hilfe des SQL-Assistenten generieren. Der SQL-Assistent nutzt die Informationen des DB2-Katalogs für die interaktive Erstellung von SQL-Befehlen. Bild 3-4: Die SQL-Anweisungen werden mit Hilfe des SQL-Assistenten erstellt In den meisten Fällen erscheint die zweite Registerkarte des SQL-Assistenten mit der Tabellenauswahl. Dabei unterstellt er, daß ein SELECT-Befehl erstellt werden soll. Auf der ersten Registerkarte können Sie die SQL-Befehle SELECT, INSERT, UPDATE oder DELETE auswählen. 3-7

28 Das Benutzerkonzept Als erstes möchte ich den SELECT-Befehl erstellen, der den Eintrag des sich anmeldenden Anwender in der Tabelle NUTZER prüft. Bild 3-5: Der SQL- Assistent unterstützt auch die Angabe von Ausdrücken in der Spaltenliste des SELECT- Befehls Dazu lasse ich mir die Anzahl Treffer (Funktion COUNT()) geben, die für die Auswahlbedingung NID = Kennung des Anwenders ermittelt werden. Die Anzahl ist genau 1, wenn der Anwender eingetragen ist, sonst

29 Das Benutzerkonzept Die Auswahlbedingung des SELECT-Befehls ist der Vergleich mit der eingegebenen Benutzerkennung. Bild 3-6: Auswahlbedingung vorgeben Zum Schuß zeigt der SQL-Assistent den erzeugten SQL-Befehl zur Überprüfung an. Der Befehl kann in dieser Anzeige nicht editiert werden, wohl aber nach Rückkehr in den StPB-Assistenten. 3-9

30 Das Benutzerkonzept Außer dem SELECT-Befehl benötige ich einen UPDATE-Befehl, der den Zeitstempel bei korrekter Anmeldung aktualisiert. Auch diesen erstelle ich mit dem SQL-Assistenten. Bild 3-7: UPDATE-Befehl zur Aktualisierung des Zeitstempels 3-10

31 Das Benutzerkonzept Ein weiterer SELECT überprüft die verstrichene Zeit seit der letzten Transaktion des Anwenders. Bild 3-8: Ein weiterer SELECT-Befehl ermittelt die verstrichene Zeit Mit diesen drei SQL-Befehlen kann die Stored Procedure die gewünschten Funktionen ausführen. Der StPB-Assistent erstellt aus den Struktur-Angaben im zweiten Fenster und den Variablen in den SQL-Befehlen einen Vorschlag für die Parameter-Übergabe. Sie können diesen Vorschlag ändern. 3-11

32 Das Benutzerkonzept Sie sollten auf jeden Fall die gewählten Datentypen prüfen, weil der Assistent dabei manchmal zu scherzen beliebt, zum Beispiel VARCHAR(4000) für eine Spalte von Typ CHAR(8) vorschlägt. Bild 3-9: Der StPB- Assistent schlägt die Parameter für den Aufruf der Stored Procedure vor 3-12

33 Das Benutzerkonzept Im letzten Fenster (Bild 3-10) geben Sie noch einige Generierungsoptionen vor. Den spezifischen Namen, die interne eindeutige Identifikation, können Sie auch von DB2 generieren lassen. Für JAVA-Prozeduren wählen Sie hier auch JDBC oder SQLJ als Datenbank-Schnittstelle aus. Da ich die Stored Procedure NUTZER nachbearbeiten muß, lasse ich sie nur generieren und nicht in einem Ablauf generieren und erstellen, d.h. im DB2 mit CREATE anlegen und als C-Code übersetzen. Bild 3-10: Erstellungsoptionen vorgeben Der StPB-Assistent erzeugt im Coding der Prozedur je SQL-Befehl einen Zweig. Ich benötige nur zwei Zweige, einen für die Anmeldung und einen für die Überprüfung des Zeitintervalls. In beiden Zweigen wird der Zeitstempel aktualisiert, wenn die Prüfung positiv ausging. Der UPDATE-Befehl wird also in beiden Zweigen benötigt. 3-13

34 Das Benutzerkonzept Bild 3-11: Stored Procedure NUTZER nach Überarbeitung des generierten Codes 3-14

35 Das Benutzerkonzept Hier der vollständige Code: CREATE PROCEDURE DB2INST1.Nutzer ( IN whichquery int, IN UID char(8), OUT SQLCODE_OUT int ) SPECIFIC DB2INST1.Nutzer LANGUAGE SQL Gespeicherte SQL-Prozedur (c) Pürner Unternehmensberatung -- Nutzung durch Dritte auf eigene Gefahr: -- Keine Gewährleistung für Funktionstüchtigkeit der Prozeduren P1: BEGIN -- Variable deklarieren DECLARE SQLCODE INT DEFAULT 0; DECLARE cnt INT; DECLARE timediff INT; -- Handler deklarieren DECLARE EXIT HANDLER FOR SQLEXCEPTION SET SQLCODE_OUT = SQLCODE; CASE whichquery WHEN 1 THEN SELECT COUNT(*) INTO cnt FROM DB2INST1.NUTZER WHERE ( ( DB2INST1.NUTZER.NID = UID ) ); IF cnt = 0 THEN SET SQLCODE_OUT = 100; ELSE UPDATE DB2INST1.NUTZER SET TIMEST = CURRENT TIMESTAMP WHERE ( ( DB2INST1.NUTZER.NID = UID ) ); SET SQLCODE_OUT = SQLCODE; 3-15

36 Das Benutzerkonzept END IF; WHEN 2 THEN SELECT (CURRENT TIMESTAMP - DB2INST1.NUTZER.TIMEST) INTO timediff FROM DB2INST1.NUTZER WHERE ( ( DB2INST1.NUTZER.NID = UID ) ); IF timediff < 200 THEN UPDATE DB2INST1.NUTZER SET TIMEST = CURRENT TIMESTAMP WHERE ( ( DB2INST1.NUTZER.NID = UID ) ); SET SQLCODE_OUT = SQLCODE; ELSE SET SQLCODE_OUT = 100; END IF; END CASE; END P1 Nach dem Build der Stored Procedure müssen die Anwender noch berechtigt werden, diese auch ausführen zu dürfen. Dazu müssen wir einen GRANT-Befehl auf das package absetzen. Den Package-Namen erfahren wir beim Build-Prozeß. In Bild 3-11 auf Seite 3-14 sehen Sie im Nachrichtenfenster die Meldung über das Erstellen des Paketes DB2INST1.P Also lautet der GRANT-Befehl GRANT EXECUTE ON DB2INST1.P TO PUBLIC Sie können ihn in der Befehlszentrale oder über den Befehlzeilenprozessor auf dem Server absetzen. Alternativ zu prozeduralem SQL kann die Stored Procedure auch in JAVA erzeugt werden. Die Schritte mit dem Stored Procedure Builder sind im wesentlichen gleich. Damit Sie ein Package für die Berechtigungsvergabe erhalten, dürfen Sie nicht die JDBC- Schnittstelle wählen sondern SQLJ. 3-16

37 Das Benutzerkonzept Hier der generierte JAVA-Code: generierter JAVA-Code /** * Gespeicherte SQLJ-Prozedur DB2INST1.nutzer * (c) Pürner Unternehmensberatung * Nutzung durch Dritte auf eigene Gefahr: * Keine Gewährleistung für Funktionstüchtigkeit der Prozeduren */ import java.sql.*; // JDBC-Klassen import sqlj.runtime.*; import sqlj.runtime.ref.*; public class Nutzer { public static void nutzer ( int whichquery, String UID, int[] SQLCODE ) throws Exception { short count; float timediff; switch (whichquery) { case 1: #sql { SELECT COUNT(DB2INST1.NUTZER.NID) INTO :count FROM DB2INST1.NUTZER WHERE DB2INST1.NUTZER.NID = :UID }; if (count == 0) SQLCODE[0] = 100; // Nicht bekannt -> SQLCODE else { #sql { UPDATE DB2INST1.NUTZER SET TIMEST = CURRENT TIMESTAMP WHERE DB2INST1.NUTZER.NID = :UID }; SQLCODE[0] = 0; } // OK -> SQLCODE 3-17

38 Das Benutzerkonzept } } } break; case 2: #sql { SELECT (CURRENT TIMESTAMP - DB2INST1.NUTZER.TIMEST) INTO :timediff FROM DB2INST1.NUTZER WHERE DB2INST1.NUTZER.NID = :UID }; if (timediff < 200) { #sql { UPDATE DB2INST1.NUTZER SET TIMEST = CURRENT TIMESTAMP WHERE DB2INST1.NUTZER.NID = :UID }; SQLCODE[0] = 0; } // OK -> SQLCODE else SQLCODE[0] = 100; // Zeit abgelaufen -> SQLCODE break; default: break; Makro LOGON.MAC Das Net.Data-Makro für die Anmeldung lasse ich in seiner Rumpfversion vom Net.Data SmartGuide erstellen. Natürlich muß es dann noch an meine Anforderungen angepaßt werden, aber der allgemeine Ablauf und der Aufruf der Stored Procedure werden mir vorgeneriert. Obwohl der SmartGuide eine JAVA-Applikation ist, ist er zur Zeit nur unter Windows verfügbar. Der Aufruf ist in einer Batch-Datei SmartGuides.bat enthalten. Ein Doppelklick mit der linken Maustaste im Explorer sollte für den Aufruf reichen, wenn Ihre JAVA- Umgebung im Systempfad korrekt definiert ist. Ein Fenster erscheint, in dem Sie über Schaltflächen eine von vier Muster-Applikationen auswählen können. Um den Aufruf der Stored Procedure NUTZER zu generieren, wähle ich die unterste Schaltfläche. 3-18

39 Das Benutzerkonzept Bild 3-12: Menü des Net.Data SmartGuide Es folgt ein Fenster mit ausführlichen Erläuterungen. Wenn Sie diese gelesen haben, blättern Sie mit der Schaltfläche Weiter weiter. 3-19

40 Das Benutzerkonzept Im folgenden Fenster brauchen Sie nur den Namen der Datenbank eingeben. Bild 3-13: Erfassung von Datenbank-, Benutzer- und Server-Daten Geben Sie Benutzerkennung und -Paßwort ein, werden diese im Makro hinterlegt. In diesem Makro ist dies nicht sinnvoll, da die Anmeldung an DB2 mit den eingegebenen Daten durchgeführt wird. 3-20

41 Das Benutzerkonzept Im folgenden Fenster geben Sie den Namen des Makros vor. Der SmartGuide schlägt die Endung.mac vor. Sie können natürlich jedes Postfix wählen, auch.d2w, wie es bisher für Net.Data üblich war. Bild 3-14: Makro-Namen festlegen 3-21

42 Das Benutzerkonzept Als letztes müssen Sie in der nächsten Maske eine der Stored Procedures auswählen, die der SmartGuide in der vorgegebenen Datenbank gefunden hat. Bild 3-15: Auswahl einer Stored Procedure Mit diesen Informationen generiert der SmartGuide ein Makro und zeigt Ihnen das Coding im nächsten Fenster. 3-22

43 Das Benutzerkonzept Bild 3-16: Anzeige des generierten Codes Vergessen Sie nicht, das Makro mit der Schaltfläche Makro sichern... in einer Datei abzuspeichern. Die Schaltfläche Fertigstellen beendet lediglich den SmartGuide ohne Sie nach dem Sichern des Makros zu fragen. 3-23

44 Das Benutzerkonzept Das Makro kann sofort getestet werden, wenn Sie es in das Net.Data-Makro-Verzeichnis auf Ihrem Server kopieren. Bild 3-17: generiertes Makro testen Das generierte Makro ist ohne Änderungen unter LINUX und Windows ablauffähig. Wenn Sie Makros, die Sie mit einem Editor unter Windows erstellt haben, auf einen LINUX-Server bringen, stört sich dort Net.Data an der CR-LF-Zeilenvorschüben (Hexadezimal 0D 0A). Daher generiert der SmartGuide nur 0A statt 0D 0A. Unter Windows lassen sich solche Dateien mit WORDPAD besser lesen als mit dem EDITOR (NOTE- PAD). Allerdings muß das generierte Makro für den praktischen Einsatz geändert werden. Der Anwender soll Benutzerkennung und Paßwort eingeben, nicht aber den Auswahlcode für die Stored Procedure. Dieser kann fest codiert werden, da in diesem Makro nur die Anmeldung (Code 1) ausgeführt wird. Nach erfolgreicher Anmeldung soll dem Anwender eine Menü-Maske angezeigt werden. Diese ist also im Ausgabezweig des Makro 3-24

45 Das Benutzerkonzept einzufügen. Sie können sich das benötigte Layout mit einem der vielen HMTL-Editoren erstellen und dann in das Makro kopieren. Nach Überarbeitung enthält das Makro folgenden Code: Code des Makros LOGON.MAC %{*** The following code was generated by the Net.Data Stored Procedure SmartGuide. Description: This macro calls a stored procedure with parameters specified in the web form on the start page. If the stored procedure returns any results, they are displayed after the execution of the procedure. Macro Sections: START - Show inital web form to set parameters for procedure call CALLPROC - Call stored procedure and show results (called in START section) *** %} %define { %{ *** Database Name *** %} DATABASE="TEST" %{ *** Path to Macro *** %} SERVER="" %} %MACRO_FUNCTION menue(uid) { <h1 align="center"><b><img src="/icons/countr-a.gif" border="0"></b></h1> <p align="center"></p> <form name="form1" method="get" action="/cgi-bin/db2www.cgi/umsqueryp.mac/input"> <p align="center"><input type="submit" name="but1" value="umsatzanzeige"></p> <p><input type="hidden" name="uid" value="$(uid)"></p> </form> <form name="form1" method="get" action="/cgi-bin/db2www.cgi/umsins.d2w/input"> <p align="center"><input type="submit" name="but1" value="umsatzerfassung"></p> <p><input type="hidden" name="uid" value="$(uid)"></p> </form> <p align="center"></p> <hr> </body> </html> %} %{ ============================================================================== *** Function with the actual call to the stored procedure through the database server *** ============================================================================= %} 3-25

46 Das Benutzerkonzept %FUNCTION(DTW_SQL) storeproc( IN INTEGER WHICHQUERY, IN CHARACTER UID, OUT INTEGER SQLCODE_OUT) RETURNS (RESULT) { CALL DB2INST1.NUTZER %} %MESSAGE { -default: { <BODY BGCOLOR="A6699FF"><CENTER> <H1><font face="stonehenge,arial" color="white">test-firma Umsatzbuchung</font></ H1> <H2>falsche Anmeldung</H2> </center></body> %} :exit %} %html (callproc) { %{ ============================================================================== *** Call stored procedure with parms entered in the web form *** ============================================================================= WHICHQUERY, LOGIN, SQLCODE_OUT ) %{ ============================================================================== *** Show results of stored proecure call if there are any *** ============================================================================= %} <HTML> <HEAD> <META HTTP-EQUIV="pragma" CONTENT="no-cache"> %INCLUDE "buchheader.txt" %IF (SQLCODE_OUT == 0) <h3 align="center">anmeldung erfolgreich %ELSE <center> <h3>anmeldung nicht möglich</h3> <p><font size=3 face="arial,helvetica"><a href=$(sever)start>bitte nochmal auswählen und ändern</a> </center> %ENDIF 3-26

47 Das Benutzerkonzept </BODY> </HTML> %} %html(start) { %{ ============================================================================== *** Ask for parms for procedure call *** %{ =========================================================================== %} <HTML> <HEAD> <META HTTP-EQUIV="pragma" CONTENT="no-cache"> %INCLUDE "buchheader.txt" <center> <FORM METHOD="POST" ACTION="$(SERVER)CALLPROC"> <TABLE> <TR><TD></TD><TD><INPUT type="hidden" size="1" name="whichquery" value="1"></ TD></TR> <TR><TD><FONT SIZE=2 FACE="Arial,Helvetica,Geneva">Nutzer-ID</FONT></ TD><TD><INPUT type="text" size="8" name="login"></td></tr> <TR><TD><FONT SIZE=2 FACE="Arial,Helvetica">Kennwort</TD><TD><INPUT type="password" size=8 name="password"></td></tr> </TABLE> <P> <INPUT type="submit" value="anmelden"> </center></form> </BODY> </HTML> %} %html(auswahl) { <html> <META HTTP-EQUIV="pragma" CONTENT="no-cache"> %INCLUDE "buchheader.txt" </center> </HTML> %} 3-27

48 Das Benutzerkonzept Aufgerufen wird das Makro mit dem START-Zweig, der die Eingabemaske ausgibt. Die Eingabe des Anwenders wird im CALLPROC-Zweig verarbeitet. Den AUSWAHL-Zweig habe ich hinzugefügt, weil ich aus anderen Dialogen auf die Menü-Maske springe. Damit die Menü-Ausgabe nicht zweimal codiert werden muß, ist sie in der Net.Data-Funktion menue() definiert worden. Um die Masken des Dialogs einheitlich zu gestalten, habe ich Kopf- und Fußbereich in separaten Dateien buchheader.txt und buchfoot.txt definiert, die in allen Makros mit der %INCLUDE-Anweisung eingefügt werden. Die Anmeldung können Sie in Bild 2-1 auf Seite 2-2 sehen, die einfach Menü-Maske in Bild Bild 3-18: Einfache Menü-Maske des Umsatz-Dialogs 3-28

49 4. Der Erfassungsdialog 4.1 Die Maske Die Erfassungsdialog ist denkbar einfach. Der Anwender füllt eine Erfassungsmaske aus, in der Daten voreingestellt sind. Bei der Eingabe der Beträge hilft ein Java-Skript, das aus einem eingegebenen Betrag und dem ausgewählte Umsatzsteuersatz den anderen (Netto-/Brutto-)Betrag und den Umsatzsteuerbetrag errechnet. Die gültigen Umsatzarten werden aus der Tabelle KOA gelesen und zur Auswahl angezeigt. 4-1

50 Der Erfassungsdialog Bild 4-1: Ausgefüllte Erfassungsmaske für den Umsatz (Erstaufruf aus Menü) Nach dem Abschicken der ausgefüllten Maske wird die nächste Erfassungsmaske mit einer Erfolgs- oder Fehlermeldung angezeigt. 4-2

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation MySQL-Job-Automation Managed User Jobs JOB SCHEDULER Dokumentation Juli 2005 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D-10629 Berlin Telefon (030) 86 47 90-0 Telefax (030) 861 33 35

Mehr

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

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

Mehr

Dokumentation zur Anlage eines JDBC Senders

Dokumentation zur Anlage eines JDBC Senders Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise

Mehr

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP. Ziele: Eine Datenbank anlegen mit SQL Daten eingeben mit SQL Abfragen stellen mit SQL und PHP 1 Datenbankserver Entwickelt von der schwedischen Aktiengesellschaft MySQL Unter GNU General Public License

Mehr

Entwicklungsumgebung für die Laborübung

Entwicklungsumgebung für die Laborübung Entwicklungsumgebung für die Laborübung VU Datenbanksysteme Wolfgang Fischl Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

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

.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

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

Einführung in Automation Studio

Einführung in Automation Studio Einführung in Automation Studio Übungsziel: Der links abgebildete Stromlaufplan soll mit einer SPS realisiert werden und mit Automation Studio programmiert werden. Es soll ein Softwareobjekt Logik_1 in

Mehr

17.2 MS-Access Projekte

17.2 MS-Access Projekte 964 Von MS-Access 2000 zum SQL-Server 17.2 MS-Access Projekte MS-Access-Projekte, die die Dateiendung adp besitzen, werden als Front-End-Anwendung verwendet. Für die Back-End-Seite gibt es mehrere Möglichkeiten.

Mehr

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

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

Mehr

Manuelles Laden von ADO Dateien. Lösung von Problemen beim Testen von possenet Dynamics CVS Ständen

Manuelles Laden von ADO Dateien. Lösung von Problemen beim Testen von possenet Dynamics CVS Ständen Lösung von Problemen beim Testen von possenet Dynamics CVS Mike Fechner, mike fechner it consulting 26.08.2003 Vorbemerkung Die in diesem Text angebotenen Informationen werden Ihnen zur eigenen Verwendung

Mehr

Erste Schritte mit Eclipse

Erste Schritte mit Eclipse Erste Schritte mit Eclipse März 2008, KLK 1) Java Development Kit (JDK) und Eclipse installieren In den PC-Pools der HAW sind der JDK und Eclipse schon installiert und können mit dem Application Launcher

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

Access und OpenOffice.org

Access und OpenOffice.org Access-Datenbanken in OpenOffice.org 1.1 einbinden Herausgegeben durch das OpenOffice.org Germanophone-Projekt Autoren Autoren vorhergehender Versionen Timo Kozlowski Alle in diesem Dokument erwähnten

Mehr

NoSQL mit Postgres 15. Juni 2015

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

Mehr

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

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

Mehr

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

Installation unter LINUX mit PostgreSQL DB

Installation unter LINUX mit PostgreSQL DB Installation unter LINUX mit PostgreSQL DB Inhaltsverzeichnis 1. Installation und Konfiguration der PostgreSQL Datenbank... 3 2. Installation von Intrexx Xtreme 4.5... 5 Schreibkonventionen In diesem Handbuch

Mehr

TimeMachine. Installation und Konfiguration. Version 1.4. Stand 21.11.2013. Dokument: install.odt. Berger EDV Service Tulbeckstr.

TimeMachine. Installation und Konfiguration. Version 1.4. Stand 21.11.2013. Dokument: install.odt. Berger EDV Service Tulbeckstr. Installation und Konfiguration Version 1.4 Stand 21.11.2013 TimeMachine Dokument: install.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor

Mehr

IMBA. Installationsanleitung. SQL Server-Datenbankadapter. Das Instrument für den fähigkeitsgerechten Personaleinsatz

IMBA. Installationsanleitung. SQL Server-Datenbankadapter. Das Instrument für den fähigkeitsgerechten Personaleinsatz Das Instrument für den fähigkeitsgerechten Personaleinsatz IMBA SQL Server-Datenbankadapter Installationsanleitung gefördert durch das Bundesministerium für Gesundheit und Soziale Sicherung Vorbereitung

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9c: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans

Mehr

Transaktionen in der Praxis. Dr. Karsten Tolle

Transaktionen in der Praxis. Dr. Karsten Tolle Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);

Mehr

Open Catalog Interface (OCI) Anbindung an VirtueMart

Open Catalog Interface (OCI) Anbindung an VirtueMart Ver. 2.5.1 Open Catalog Interface (OCI) Anbindung an VirtueMart Joomla 2.5 und Virtuemart 2.0.6 Ing. Karl Hirzberger www.hirzberger.at Inhaltsverzeichnis Begriffserklärung... 3 OCI für VirtueMart... 4

Mehr

Acrolinx IQ. Verbindungen mit externen Terminologiedatenbanken 2.9

Acrolinx IQ. Verbindungen mit externen Terminologiedatenbanken 2.9 Acrolinx IQ Verbindungen mit externen Terminologiedatenbanken 2.9 2 Inhalt Einleitung 3 Über diesen Leitfaden...3 Verbinden mit externen Terminologiedatenbanken 4 Erstellen von Sicherungen vorhandener

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

Übung 1: Ein Website News-System mit MySQL

Übung 1: Ein Website News-System mit MySQL Übung 1: Ein Website News-System mit MySQL In der Vorübung haben wir bereits mit Hilfe eines ERMs den Datenbankentwurf erstellt und daraus die folgenden Tabellen abgeleitet: Nun muss diese Datenbank in

Mehr

GS-Programme 2015 Umzug auf einen neuen Computer

GS-Programme 2015 Umzug auf einen neuen Computer GS-Programme 2015 Umzug auf einen neuen Computer Impressum Business Software GmbH Primoschgasse 3 9020 Klagenfurt Copyright 2014 Business Software GmbH Die Inhalte und Themen in dieser Unterlage wurden

Mehr

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

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

Mehr

- 1 - WAMP: Apache MySql PHP PhpMyAdmin Installation W2K. Voraussetzung zum Installieren: Entpacker wie Winzip oderwinrar muss vorhanden sein!

- 1 - WAMP: Apache MySql PHP PhpMyAdmin Installation W2K. Voraussetzung zum Installieren: Entpacker wie Winzip oderwinrar muss vorhanden sein! Voraussetzung zum Installieren: Entpacker wie Winzip oderwinrar muss vorhanden sein! 1. Zunächst einen Ordner Install direkt auf C:\ anlegen. In diesen Ordner die Dateien zum Installieren hineinkopieren:

Mehr

So geht's: Import von Daten in den address manager

So geht's: Import von Daten in den address manager combit GmbH Untere Laube 30 78462 Konstanz So geht's: Import von Daten in den address manager Einleitung 2 Voraussetzungen 2 Beispiele aus der Praxis 3 Beispiel 1 Import einer Excel Tabelle 3 Beispiel

Mehr

MGE Datenanbindung in GeoMedia

MGE Datenanbindung in GeoMedia TIPPS & TRICKS MGE Datenanbindung in GeoMedia 10. September 2002 / AHU INTERGRAPH (Schweiz) AG Neumattstrasse 24, CH 8953 Dietikon Tel: 043 322 46 46 Fax: 043 322 46 10 HOTLINE: Telefon: 043 322 46 00

Mehr

SQL (Structured Query Language) Schemata Datentypen

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

Mehr

Acrolinx IQ. Verbindung mit einer externen Terminologiedatenbank herstellen 2.7

Acrolinx IQ. Verbindung mit einer externen Terminologiedatenbank herstellen 2.7 Acrolinx IQ Verbindung mit einer externen Terminologiedatenbank herstellen 2.7 2 Inhalt Einleitung 3 Über diesen Leitfaden...3 Verbinden mit externen Terminologiedatenbanken 4 Erstellen von Sicherungen

Mehr

Alinof Key s Benutzerhandbuch

Alinof Key s Benutzerhandbuch Alinof Key s Benutzerhandbuch Version 3.0 Copyright 2010-2014 by Alinof Software GmbH Page 1/ Vorwort... 3 Urheberechte... 3 Änderungen... 3 Systemvoraussetzungen für Mac... 3 Login... 4 Änderung des Passworts...

Mehr

MySql und PHP. Apache2: Konfigurieren für php4. ...\apache2\conf\httpd.conf aufrufen. Folgende Zeilen einfügen:

MySql und PHP. Apache2: Konfigurieren für php4. ...\apache2\conf\httpd.conf aufrufen. Folgende Zeilen einfügen: MySql und PHP Apache2: Konfigurieren für php4...\apache2\conf\httpd.conf aufrufen Folgende Zeilen einfügen: LoadModule php4_module "c:/php/php4apache2.dll" AddType application/x-httpd-php.php Wichtig!!

Mehr

INFORMATIK ROEING UND FRITZE ORACLE DBMS UND SQL. Seminarunterlage

INFORMATIK ROEING UND FRITZE ORACLE DBMS UND SQL. Seminarunterlage ORACLE UND SQL Seminarunterlage 0-2 ORACLE IMPRESSUM Version: 5.01 DID: Autoren: Herausgeber: ORA_SQL Jörg Fritze Frank Roeing Roeing und Fritze Schulungen GbR Alte Straße 65 D-44143 Dortmund Telefon:

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

Installation Anleitung für JTheseus und MS SQL Server 2000

Installation Anleitung für JTheseus und MS SQL Server 2000 Installation Anleitung für JTheseus und MS SQL Server 2000 Inhaltsverzeichnis 1 Installation der Datenbank 3 1.1 Erstellen der Datenbank 3 1.2 Tabellen und Minimal Daten einlesen 4 1.3 Benutzer JTheseus

Mehr

lññáåé=iáåé===pìééçêíáåñçêã~íáçå=

lññáåé=iáåé===pìééçêíáåñçêã~íáçå= lññáåé=iáåé===pìééçêíáåñçêã~íáçå= Wie kann das LiveUpdate durchgeführt werden? Um das LiveUpdate durchzuführen, müssen alle Anwender die Office Line verlassen. Nur so ist gewährleistet, dass die Office

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

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

Mehr

Installation und Dokumentation. juris Autologon 3.1

Installation und Dokumentation. juris Autologon 3.1 Installation und Dokumentation juris Autologon 3.1 Inhaltsverzeichnis: 1. Allgemeines 3 2. Installation Einzelplatz 3 3. Installation Netzwerk 3 3.1 Konfiguration Netzwerk 3 3.1.1 Die Autologon.ini 3 3.1.2

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

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST 2. Interaktive Web Seiten GET und POST Die Übertragungsmethoden GET und POST sind im http Protokoll definiert: POST: gibt an, dass sich weitere Daten im Körper der übertragenen Nachricht befinden: z.b.

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen

Mehr

Fachbereich Informatik Praktikum 1

Fachbereich Informatik Praktikum 1 Hochschule Darmstadt DATA WAREHOUSE SS2015 Fachbereich Informatik Praktikum 1 Prof. Dr. S. Karczewski Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.April.2015 1. Kurzbeschreibung In diesem Praktikum geht

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

Ablauf Unit2. Walkthrough

Ablauf Unit2. Walkthrough Ablauf Unit2 Vertiefendes Uebungsprojekt - SQL II Gerhard Wohlgenannt Test Vorstellung der Arbeitsumgebung (Software, Locations) Walkthrough Gruppeneinteilung + Themenvergabe Vorstellung der Arbeitsumgebung

Mehr

AJAX SSL- Wizard Referenz

AJAX SSL- Wizard Referenz AJAX SSL- Wizard Referenz Version 1.0.2+ - 04.04.2011 Präambel Die vorliegende Dokumentation beschreibt den AJAX basierten SSL- Wizard der CertCenter AG. Der SSL- Wizard kann mit wenigen Handgriffen nahtlos

Mehr

KONFIGURATION DES MOZILLA E-MAIL CLIENT

KONFIGURATION DES MOZILLA E-MAIL CLIENT KONFIGURATION DES MOZILLA E-MAIL CLIENT Copyright 2004 by 2 ways - media & design, Inh. Lars Plessmann, Paulinenstr. 12, D-70178 Stuttgart. http://www.2-ways.de Lars.Plessmann@2-ways.de Der Mozilla Email

Mehr

Installationsanleitung TOPIX WebSolution Server

Installationsanleitung TOPIX WebSolution Server Installationsanleitung TOPIX WebSolution Server WebSolution Version 1.309 TOPIX:8 Ab Version 8.9.3v2 Stand 08/2014 Inhalt 1 Systemvoraussetzungen...3 2 Vorbereitungen für die Installation...4 Die aktuelle

Mehr

TecGo Online Local. Ihr Einstieg bei TecCom. Installation und Einrichtung der Besteller Software Release 3.0 INHALT. I. Art der Installation

TecGo Online Local. Ihr Einstieg bei TecCom. Installation und Einrichtung der Besteller Software Release 3.0 INHALT. I. Art der Installation TecGo Online Local Ihr Einstieg bei TecCom Installation und Einrichtung der Besteller Software Release 3.0 INHALT I. Art der Installation II. III. Installation des TecLocal Einrichten der Online-Verbindung

Mehr

PostgreSQL auf Debian System

PostgreSQL auf Debian System PostgreSQL auf Debian System Inhaltsverzeichnis 1. Installation 1.1 Installation 1.2 Mit postgres anmelden 2. Benutzer anlegen 3. Datenbank anlegen 3.1 Optionen 3.2 Datenbank mydatabase anlegen 4. Datenbank

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Userhandbuch. Version B-1-0-2 M

Userhandbuch. Version B-1-0-2 M Userhandbuch Version B-1-0-2 M Inhaltsverzeichnis 1.0 Was bietet mir SERVRACK?... 3 1.1 Anmeldung... 3 1.2 Passwort vergessen?... 3 1.3 Einstellungen werden in Realtime übernommen... 4 2.0 Die SERVRACK

Mehr

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 4: Einführung in JavaScript Stand: 03.11.2014. Übung WS 2014/2015. Benedikt Schumm M.Sc.

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 4: Einführung in JavaScript Stand: 03.11.2014. Übung WS 2014/2015. Benedikt Schumm M.Sc. Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 4: Stand: 03.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische Universität Eichstätt-Ingolstadt

Mehr

TYPO3 Redaktoren-Handbuch

TYPO3 Redaktoren-Handbuch TYPO3 Redaktoren-Handbuch Kontakt & Support: rdv interactive ag Arbonerstrasse 6 9300 Wittenbach Tel. 071 / 577 55 55 www.rdvi.ch Seite 1 von 38 Login http://213.196.148.40/typo3 Username: siehe Liste

Mehr

Installationshinweise zur lokalen Installation des KPP Auswahltools 7.6

Installationshinweise zur lokalen Installation des KPP Auswahltools 7.6 Installationshinweise zur lokalen Installation des KPP Auswahltools 7.6 Installationsvoraussetzungen: Die Setup-Routine benötigt das DotNet-Framework 4.0 Client Profile, das normalerweise über Microsoft

Mehr

AixVerein 2.0 - Anleitung zur Einrichtung des

AixVerein 2.0 - Anleitung zur Einrichtung des Seite 1/6 AixVerein 2.0 - Anleitung zur Einrichtung des Datenbank-Servers und der Dokumentenablage Bei der vorliegenden Anwendung handelt es sich um eine Client-Server-Anwendung, d.h. die Software wird

Mehr

Datenbankzugriff mit JDBC

Datenbankzugriff mit JDBC Java: Kapitel 8 Datenbankzugriff mit JDBC Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick über Kapitel 8 Einführung in SQL und JDBC Verbindung zur Datenbank

Mehr

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

Begleitskript. zum PHP/MySQL. Kurs

Begleitskript. zum PHP/MySQL. Kurs Begleitskript zum PHP/MySQL Kurs http://www.online-platform.net Dieser Text unterliegt der GNU General Public License. Er darf als ganzes oder in Auszügen kopiert werden, vorausgesetzt, dass sich dieser

Mehr

Change Log. Fehlerbehebung bei den Funktionen Edit SQL, Set Session_user und Set current Schema..

Change Log. Fehlerbehebung bei den Funktionen Edit SQL, Set Session_user und Set current Schema.. Change Log 15.09.2015 Version 2.0.3.9 Fehlerbehebung bei den Funktionen Edit SQL, Set Session_user und Set current Schema.. 15.01.2015 Version 2.0.3.8 Unter Optionen können jetzt zusätzliche Parameter

Mehr

Installation / Update Advantage Database Server. Die Software Hausverwaltung

Installation / Update Advantage Database Server. Die Software Hausverwaltung Installation / Update Advantage Database Server Die Software Hausverwaltung Inhaltsverzeichnis 1. DOWNLOAD DES AKTUELLEN ADVANTAGE DATABASE SERVERS... 1 2. ERSTINSTALLATION DES ADVANTAGE DATABASE SERVERS...

Mehr

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates RIWA NetUpdater Tool für automatische Daten- und Softwareupdates Grundlegendes... 1 Ausführbare Dateien und Betriebsmodi... 2 netupdater.exe... 2 netstart.exe... 2 netconfig.exe... 2 nethash.exe... 2 Verzeichnisse...

Mehr

Typo 3 installieren. Schritt 1: Download von Typo3

Typo 3 installieren. Schritt 1: Download von Typo3 Typo 3 installieren Bevor Sie Typo3 installieren, müssen Sie folgende Informationen beachten: Typo3 benötigt eine leere Datenbank. Mit Ihrem Abonnement verfügen Sie über eine einzige Datenbank. Sie können

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

Kurzbeschreibung PC-Software für das Gerät URO-2050

Kurzbeschreibung PC-Software für das Gerät URO-2050 Kurzbeschreibung PC-Software für das Gerät URO-2050 1 Einleitung 1.1 Allgemeines Das Programm kann zum Verwalten der durchgeführten Untersuchungen mit dem Gerät URO-2050 benutzt werden. Es funktioniert

Mehr

SemTalk Services. SemTalk UserMeeting 29.10.2010

SemTalk Services. SemTalk UserMeeting 29.10.2010 SemTalk Services SemTalk UserMeeting 29.10.2010 Problemstellung Immer mehr Anwender nutzen SemTalk in Verbindung mit SharePoint Mehr Visio Dokumente Viele Dokumente mit jeweils wenigen Seiten, aber starker

Mehr

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/ Einführung Was ist Unison? Unison ist ein Dateisynchronisationsprogramm für Windows und Unix. Es teilt sich viele Funktionen mit anderen Programmen, wie z.b. CVS und rsync. Folgend einige Vorteile des

Mehr

Ablauf. Wichtige Termine. Vertiefendes Übungsprojekt - SQL II

Ablauf. Wichtige Termine. Vertiefendes Übungsprojekt - SQL II Ablauf Wichtige Termine Ablauf der Lehrveranstaltung Vorstellung des Projektthemas Projektgruppen Vorstellung der Arbeitsumgebung (Software, Locations) Walkthrough Datenbankentwurf Formulare PHP Security

Mehr

Web Visu Tutorial. Hipecs Web Visu. Übersicht

Web Visu Tutorial. Hipecs Web Visu. Übersicht Revision Date V100 10082011 Hipecs Web Visu Die hipecs (high performance controller system) bietet die Möglichkeit einer sog Web-Visualisierung über den integrierten Webserver Hierfür wird im Standard

Mehr

Sophos Anti-Virus. Felizitas Heinebrodt. Technische Hochschule Nürnberg Rechenzentrum Kesslerplatz 12, 90489 Nürnberg. Version 12 September 2014

Sophos Anti-Virus. Felizitas Heinebrodt. Technische Hochschule Nürnberg Rechenzentrum Kesslerplatz 12, 90489 Nürnberg. Version 12 September 2014 Sophos Anti-Virus Felizitas Heinebrodt Technische Hochschule Nürnberg Rechenzentrum Kesslerplatz 12, 90489 Nürnberg Version 12 September 2014 DokID: sophos Vers. 12, 20.08.2015, RZ/THN Informationen des

Mehr

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken Python und CGI CGI und Perl-1 Gliederung Die Programmiersprache Python CGI in Python Datenbankanbindung Umsetzungskonzepte Zusammenfassung Realisierung Python und CGI-2

Mehr

TimeSafe Leistungserfassung

TimeSafe Leistungserfassung Keep your time safe. TimeSafe Leistungserfassung Adressimport 1/8 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 Allgemeines... 3 1.1 Adressen in der TimeSafe Leistungserfassung... 3 1.2 Organisationen und/oder

Mehr

Version 4.4. security.manager. Systemvoraussetzungen

Version 4.4. security.manager. Systemvoraussetzungen Version 4.4 security.manager Systemvoraussetzungen Version 4.4 Urheberschutz Der rechtmäßige Erwerb der con terra Softwareprodukte und der zugehörigen Dokumente berechtigt den Lizenznehmer zur Nutzung

Mehr

Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien

Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien 3. Installation Ihres Shops im Internet / Kurzanleitung Kurzanleitung: Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien Geben Sie während der Webbasierten Installationsroutine alle

Mehr

VIDA ADMIN KURZANLEITUNG

VIDA ADMIN KURZANLEITUNG INHALT 1 VIDA ADMIN... 3 1.1 Checkliste... 3 1.2 Benutzer hinzufügen... 3 1.3 VIDA All-in-one registrieren... 4 1.4 Abonnement aktivieren und Benutzer und Computer an ein Abonnement knüpfen... 5 1.5 Benutzername

Mehr

Hinweis zu aktiven Inhalten von Dateien

Hinweis zu aktiven Inhalten von Dateien Hinweis zu aktiven Inhalten von Dateien Aus verschiedenen Gründen kann es vorkommen, dass das Hochladen von Dateien auf der Publikations-Plattform scheitert. Dies geschieht entweder, wenn ein Schreibschutz,

Mehr

Werner Geers. Berufliche Informatik. Zusatzinformationen ISBN:978-3-427-60080-0. Bestellnr.:60080. by Werner Geers und Bildungsverlag1, Troisdorf

Werner Geers. Berufliche Informatik. Zusatzinformationen ISBN:978-3-427-60080-0. Bestellnr.:60080. by Werner Geers und Bildungsverlag1, Troisdorf Werner Geers Berufliche Informatik ISBN:978-3-427-60080-0 Bestellnr.:60080 Zusatzinformationen 1 ARBEITEN MIT HEIDISQL... 2 1.1 Vorbemerkungen... 2 1.2 Herstellung einer Verbindung zu einem Datenbanksystem...

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

Übungen. DI (FH) Levent Öztürk

Übungen. DI (FH) Levent Öztürk Übungen DI (FH) Levent Öztürk Übersicht Entwicklungsumgebung PHPMYADMIN Datenbank anlegen User anlegen Tabellen Anlegen Datenbankzugriffe über PHP 01.04.2014 DI (FH) Levent Öztürk 2 Entwicklungsumgebung

Mehr

Es gibt situationsabhängig verschiedene Varianten zum Speichern der Dokumente. Word bietet im Menü DATEI unterschiedliche Optionen an.

Es gibt situationsabhängig verschiedene Varianten zum Speichern der Dokumente. Word bietet im Menü DATEI unterschiedliche Optionen an. 3. SPEICHERN DATEIEN SPEICHERN Dateien werden in Word Dokumente genannt. Jede Art von Datei, die Sie auf Ihrem Computer neu erstellen, befindet sich zuerst im Arbeitsspeicher des Rechners. Der Arbeitsspeicher

Mehr

DSLinux Skriptbasierte Inventarisierung für Linux

DSLinux Skriptbasierte Inventarisierung für Linux DSLinux Skriptbasierte Inventarisierung für Linux www.docusnap.com TITEL DSLinux AUTOR Docusnap Consulting DATUM 21.04.2015 Die Weitergabe, sowie Vervielfältigung dieser Unterlage, auch von Teilen, Verwertung

Mehr

Information rund um den Begriff Patch für WINLine-Anwender. SMC InformationsTechnologien AG Meraner Str. 43 86165 Augsburg

Information rund um den Begriff Patch für WINLine-Anwender. SMC InformationsTechnologien AG Meraner Str. 43 86165 Augsburg Information rund um den Begriff Patch für WINLine-Anwender SMC InformationsTechnologien AG Meraner Str. 43 86165 Augsburg Inhaltsverzeichnis: 1. Allgemeine Informationen zu dem Begriff Patch 2. WINLine

Mehr

TimePunch SQL Server Datenbank Setup

TimePunch SQL Server Datenbank Setup TimePunch TimePunch SQL Server Datenbank Setup Benutzerhandbuch 26.11.2013 TimePunch KG, Wormser Str. 37, 68642 Bürstadt Dokumenten Information: Dokumenten-Name Benutzerhandbuch, TimePunch SQL Server Datenbank

Mehr

JBuilderX: Installation und Kurzanleitung (Windows)

JBuilderX: Installation und Kurzanleitung (Windows) JBuilder X Seite 1 JBuilderX: Installation und Kurzanleitung (Windows) 1. JBuilder installieren Eine Gratis-Version kann von der Webseite www.borland.de heruntergeladen werden. Systemvoraussetzungen: 256

Mehr

eadmin Manual Universitätsstraße 3 56070 Koblenz Deutschland

eadmin Manual Universitätsstraße 3 56070 Koblenz Deutschland DOKUMENT: TYP: ERSTELLT VON: Manual nova ratio AG Universitätsstraße 3 56070 Koblenz Deutschland VERSION: STAND: 9.x 23. September 2015 Inhaltsverzeichnis 1 2 2.1 2.2 2.3 3 3.1 3.2 3.3 4 4.1 4.2 4.3 4.4

Mehr

Manuelle Installation des SQL Servers:

Manuelle Installation des SQL Servers: Manuelle Installation des SQL Servers: Die Installation des SQL Servers ist auf jedem Windows kompatiblen Computer ab Betriebssystem Windows 7 und.net Framework - Version 4.0 möglich. Die Installation

Mehr

Installation von VuFind RC1 auf Windows Systemen (Stand: November/Dezember 2009)

Installation von VuFind RC1 auf Windows Systemen (Stand: November/Dezember 2009) Installation von VuFind RC1 auf Windows Systemen (Stand: November/Dezember 2009) Diese Anleitung beschreibt die Installation von VuFind auf Windows Systemen ohne die Verwendung von Komplettpaketen wie

Mehr

Perceptive Document Composition

Perceptive Document Composition Perceptive Document Composition Patch #3 5.2.0.2798 Version: 5.2.0 Written by: Product Documentation, R&D Date: September 2013 2008-2013 Perceptive Software. Alle Rechte vorbehalten. Perceptive Document

Mehr

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

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

Mehr

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

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012 Isolationsstufen für Transaktionen / Sicherheit Dr. Karsten Tolle Dienstag 31. Januar 2012 Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch

Mehr

SQL 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