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

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

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D. 1 Copyright 1996-1997 by Axel T. Schreiner. All Rights Reserved. 7 Datenbankzugriff Prinzip Dieser Abschnitt beschäftigt sich mit dem Paket java.sql, das eine SQL-Schnittstelle für Java verkapselt. Java-Programme

Mehr

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

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

Mehr

COLLECTION. Installation und Neuerungen. Märklin 00/H0 Jahresversion 2009. Version 7. Die Datenbank für Sammler

COLLECTION. Installation und Neuerungen. Märklin 00/H0 Jahresversion 2009. Version 7. Die Datenbank für Sammler Die Datenbank für Sammler COLLECTION Version 7 Installation und Neuerungen Märklin 00/H0 Jahresversion 2009 Stand: April 2009 Inhaltsverzeichnis Inhaltsverzeichnis... 2 VORWORT... 3 Hinweise für Anwender,

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

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

Python CGI-Skripte erstellen

Python CGI-Skripte erstellen Python CGI-Skripte erstellen CGI (Common Gateway Interface)... ist eine Schnittstelle, um Scripte im Web bereitzustellen. ist eine Schnittstelle zwischen einem HTTP-Server und ausführbaren Programmen.

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

2 Download und Installation des Programms 3 3 ERSTELLUNG EINES ERM-DIAGRAMMS 4. (c) Werner Geers 5 NUTZUNG DER SKRIPTE IN DATENBANKPROGRAMMEN 13

2 Download und Installation des Programms 3 3 ERSTELLUNG EINES ERM-DIAGRAMMS 4. (c) Werner Geers 5 NUTZUNG DER SKRIPTE IN DATENBANKPROGRAMMEN 13 Vorbemerkungen 1 Werner Geers Berufliche Informatik ISBN:978-3-427-60080-0 Bestellnr.:60080 Zusatzinformationen 1 ARBEITEN MIT XERDI 2 1.1 Vorbemerkungen 2 2 Download und Installation des Programms 3 2.1

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

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme 8. Übung zur Vorlesung Datenbanksysteme WS 08/09 Musterlösung Aufgabe 8-1: SQLJ //

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

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

Mehr

Datenbanken für Online Untersuchungen

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

Mehr

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

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

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

Datenspooler Installationsanleitung Gültig ab Datenspooler-Version 2.2.20.X

Datenspooler Installationsanleitung Gültig ab Datenspooler-Version 2.2.20.X Datenspooler Installationsanleitung Gültig ab Datenspooler-Version 2.2.20.X Inhalt 1. Vorbedingungen... 4 2. Installation... 5 2.1. Umstellung von Datenspooler Version A.03.09 auf Datenspooler-Version

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

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

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

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

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

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

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

CINEMA 4D RELEASE 10. Installationsanleitung 3D FOR THE REAL WORLD

CINEMA 4D RELEASE 10. Installationsanleitung 3D FOR THE REAL WORLD CINEMA 4D RELEASE 10 3D FOR THE REAL WORLD Installationsanleitung 1 Die Installation von CINEMA 4D Release 10 1. Vor der Installation Bevor Sie das Programm installieren, beachten Sie bitte folgendes:

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

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

Umstieg mit Tankstat32 auf Windows7

Umstieg mit Tankstat32 auf Windows7 Umstieg mit Tankstat32 auf Windows7 Südelektronik GmbH / 04.12.2012 Diese Dokumentation soll eine Hilfestellung für die Inbetriebnahme des Programms Tankstat32 auf einem Rechner mit dem Betriebssystem

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

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

Datenbanken & Informationssysteme Übungen Teil 1

Datenbanken & Informationssysteme Übungen Teil 1 Programmierung von Datenbankzugriffen 1. Daten lesen mit JDBC Schreiben Sie eine Java-Anwendung, die die Tabelle Books in der Datenbank azamon ausgibt. Verwenden Sie dabei die SQL-Anweisung select * from

Mehr

Zentrale Installation

Zentrale Installation Einführung STEP 7 wird durch ein Setup-Programm installiert. Eingabeaufforderungen auf dem Bildschirm führen Sie Schritt für Schritt durch den gesamten Installationsvorgang. Mit der Record-Funktion steht

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

Projekt Weblog :: Integration

Projekt Weblog :: Integration Projekt Weblog :: Integration Die Implementation des Formhandling Frameworks wird nun im Projekt Weblog integriert. Dafür stehen 2 Möglichkeiten zur Auswahl. Sie haben Ihre eigene Implementation der Actions,

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

TIKOS Leitfaden. TIKOS Update

TIKOS Leitfaden. TIKOS Update TIKOS Leitfaden TIKOS Update Copyright 2015, Alle Rechte vorbehalten support@socom.de 06.05.2015 Inhalt 1. Allgemeine Hinweise... 3 2. Ausführen des Updates... 3 3. Mögliche Meldungen beim Update... 9

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

Datenbanken. Ein DBS besteht aus zwei Teilen:

Datenbanken. Ein DBS besteht aus zwei Teilen: Datenbanken Wikipedia gibt unter http://de.wikipedia.org/wiki/datenbank einen kompakten Einblick in die Welt der Datenbanken, Datenbanksysteme, Datenbankmanagementsysteme & Co: Ein Datenbanksystem (DBS)

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

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

Einrichtung einer Projektzeitenmanager Datenbank auf einem Firebird Datenbankserver. Mit Hilfe des Programmes pzmadmin v1.6.x

Einrichtung einer Projektzeitenmanager Datenbank auf einem Firebird Datenbankserver. Mit Hilfe des Programmes pzmadmin v1.6.x Einrichtung einer Projektzeitenmanager Datenbank auf einem Firebird Datenbankserver Mit Hilfe des Programmes pzmadmin v1.6.x Inhaltsverzeichnis Inhaltsverzeichnis...2 Voraussetzungen...3 Schritt 1: Verbindungsdaten

Mehr

Veranstaltungen anlegen und bearbeiten

Veranstaltungen anlegen und bearbeiten Veranstaltungen anlegen und bearbeiten Dieses Dokument beschreibt, wie Sie Veranstaltungen anlegen und bearbeiten können. Login Melden Sie sich an der jeweiligen Website an, in dem Sie hinter die Internet-

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

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

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

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

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

Mehr

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

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

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6 WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 6 Abgabe: Montag, 05.12.2011, 12.00 Uhr, Informatik

Mehr

JSF (JavaServer Faces) Erstellen einer Webseite

JSF (JavaServer Faces) Erstellen einer Webseite Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski JSF (JavaServer Faces) Erstellen einer Webseite Dipl. Inf. Manuel Götz Dipl. Inf.

Mehr

Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2

Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2 Mac OSX Consoliero Teil 14 Seite: 1/10 Mac OS X Consoliero Weiterführende Dokumentationen für Administratoren. Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2 Christoph Müller, PTS

Mehr

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

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

Mehr

Softwaretool Data Delivery Designer

Softwaretool Data Delivery Designer Softwaretool Data Delivery Designer 1. Einführung 1.1 Ausgangslage In Unternehmen existieren verschiedene und häufig sehr heterogene Informationssysteme die durch unterschiedliche Softwarelösungen verwaltet

Mehr

Dokumentation. juris Autologon-Tool. Version 3.1

Dokumentation. juris Autologon-Tool. Version 3.1 Dokumentation juris Autologon-Tool Version 3.1 Inhaltsverzeichnis: 1. Allgemeines... 3 2. Installation Einzelplatz... 3 3. Installation Netzwerk... 3 4. Konfiguration Netzwerk... 3 4.1 Die Autologon.ini...

Mehr

MySQL, phpmyadmin & SQL. Kurzübersicht

MySQL, phpmyadmin & SQL. Kurzübersicht MySQL, phpmyadmin & SQL Kurzübersicht Referenzen MySQL Documentation: http://dev.mysql.com/doc PHP 5 / MySQL5. Studienausgabe. Praxisbuch und Referenz (Kannengießer & Kannengießer) 2 Datenbank anlegen

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

PHP Schulung Beginner. Newthinking Store GmbH Manuel Blechschmidt

PHP Schulung Beginner. Newthinking Store GmbH Manuel Blechschmidt PHP Schulung Beginner Newthinking Store GmbH Manuel Blechschmidt Begrüßung Es gibt keine dummen Fragen nur dumme Antworten. Übersicht Sprung ins Kalte Wasser 'Hallo Welt' Theorie Requests Grundlagen Kommentare

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

Anleitung zur. Installation und Konfiguration von x.qm. Stand: Februar 2014 Produkt der medatixx GmbH & Co. KG

Anleitung zur. Installation und Konfiguration von x.qm. Stand: Februar 2014 Produkt der medatixx GmbH & Co. KG Anleitung zur Installation und Konfiguration von x.qm Stand: Februar 2014 Produkt der medatixx GmbH & Co. KG Inhaltsverzeichnis Einleitung... 3 Systemvoraussetzungen... 3 SQL-Server installieren... 3 x.qm

Mehr

MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29)

MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29) MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29) Dieses Dokument beschreibt das Herunterladen der Serversoftware, die Installation und Konfiguration der Software. Bevor mit der Migration der

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

Installationscheckliste Pervasive Server Engine Version 7.94, Stand 16.10.2012

Installationscheckliste Pervasive Server Engine Version 7.94, Stand 16.10.2012 Installationscheckliste Pervasive Server Engine Version 7.94, Stand 16.10.2012 Pervasive Server Engine Checkliste für die Neuinstallation in einem Windows-Netzwerk Bitte prüfen Sie auf unseren Webseiten

Mehr

Anzeige des Java Error Stack in Oracle Forms

Anzeige des Java Error Stack in Oracle Forms Anzeige des Java Error Stack in Oracle Forms (Version 2.0) Juni 2008 Autoren: Jürgen Menge / Thomas Robert Seite 1 von 7 Oracle Forms bietet seit der Version 6i die Möglichkeit, serverseitig Java-Klassen

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

G-Info Lizenzmanager

G-Info Lizenzmanager G-Info Lizenzmanager Version 4.0.1001.0 Allgemein Der G-Info Lizenzmanager besteht im wesentlichen aus einem Dienst, um G-Info Modulen (G-Info Data, G-Info View etc.; im folgenden Klienten genannt) zentral

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

Anleitung zum Prüfen von WebDAV

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

Mehr

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

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

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

Mehr

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

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

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

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

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

desk.modul : WaWi- Export

desk.modul : WaWi- Export desk.modul : WaWi- Export Die Schnittstelle besteht aus einem Programm, welches die Daten aus der OfficeLine ausliest und in eine XML-Datei exportiert. Die Schnittstelle ist als ein eigenständiges Programm

Mehr

3 Embedded SQL. 3.1 Theorie. 3.1.1 Was ist Embedded SQL?

3 Embedded SQL. 3.1 Theorie. 3.1.1 Was ist Embedded SQL? 3 Embedded SQL 3.1 Theorie 3.1.1 Was ist Embedded SQL? Nachdem bisher alle SQL-Anweisungen über den CLP abgewickelt wurden, sollen diese Anweisungen nun in eine Host-Sprache eingebettet werden. Wir werden

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

Installation KVV Webservices

Installation KVV Webservices Installation KVV Webservices Voraussetzung: KVV SQL-Version ist installiert und konfiguriert. Eine Beschreibung dazu finden Sie unter http://www.assekura.info/kvv-sql-installation.pdf Seite 1 von 20 Inhaltsverzeichnis

Mehr

Entwicklung einer Suchmaschine mit dem Internet Information Server

Entwicklung einer Suchmaschine mit dem Internet Information Server Entwicklung einer Suchmaschine mit dem Internet Information Server Überblick: Der Index Server erstellt einen Index für alle Inhalte und Eigenschaften von Dokumenten, die auf dem Internet Information Server

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

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

Leitfaden Datensicherung und Datenrücksicherung

Leitfaden Datensicherung und Datenrücksicherung Leitfaden Datensicherung und Datenrücksicherung Inhaltsverzeichnis 1. Einführung - Das Datenbankverzeichnis von Advolux... 2 2. Die Datensicherung... 2 2.1 Advolux im lokalen Modus... 2 2.1.1 Manuelles

Mehr

Installationsanleitungen

Installationsanleitungen Installationsanleitungen INPA SGBD-Entwicklungsumgebung (EDIABAS) INPA für Entwickler Bevor Sie EDIABAS / INPA installieren können, müssen Sie sich für den Ordner sgref auf smuc0900 freischalten lassen.

Mehr

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen Elementare Web-Programmierung Prof. Dr. Bernhard Schiefer HTTP Web-Browser Web-Browser GET http://www.zw.fh-kl.de/beispiel.htm beispiel

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

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

Direct Access Suite. Dokumentation

Direct Access Suite. Dokumentation Direct Access Suite Dokumentation Kümpflein DV-Beratung GmbH Geschäftsführer: Harald Kümpflein Alemannenstrasse 8 71277 Rutesheim Tel.: +49 7152 997843 Fax: +49 7152 997845 E-Mail: info@kuempflein.eu Homepage:

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

Überprüfung der digitalen Unterschrift in PDF

Überprüfung der digitalen Unterschrift in PDF Überprüfung der -Dokumenten Um die digitale Unterschrift in PDF-Dokumenten überprüfen zu können sind die folgenden Punkte erforderlich: Überprüfung der Stammzertifikats-Installation und ggf. die Installation

Mehr

WufooConnector Handbuch für Daylite 4

WufooConnector Handbuch für Daylite 4 WufooConnector Handbuch für Daylite 4 WufooConnector Handbuch für Daylite 4 1 Allgemeines 1.1 Das WufooConnector Plugin für Daylite 4 4 2 Einrichtung 2.1 2.2 2.3 Installation 6 Lizensierung 8 API Key einrichten

Mehr

CONTENT MANAGER BEDIENUNGSANLEITUNG

CONTENT MANAGER BEDIENUNGSANLEITUNG CONTENT MANAGER BEDIENUNGSANLEITUNG Lesen Sie diese Anleitung um zu lernen, wie Sie mit dem Content Manager suchen, kaufen, herunterladen und Updates und zusätzliche Inhalte auf Ihrem Navigationsgerät

Mehr

Avantgarde www.avantgarde-vs.de. Avantgarde 3.0 User s Guide Benutzerhandbuch Guide de L utilisateur

Avantgarde www.avantgarde-vs.de. Avantgarde 3.0 User s Guide Benutzerhandbuch Guide de L utilisateur Avantgarde www.avantgarde-vs.de Avantgarde 3.0 User s Guide Benutzerhandbuch Guide de L utilisateur ING.-BÜRO JOACHIM NÜß Kremser Straße 25 D-78052 Villingen-Schwenningen Copyright: 2010 ING.-BÜRO JOACHIM

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

MMR-Online-Dienste Anmeldung Bedienungsanleitung

MMR-Online-Dienste Anmeldung Bedienungsanleitung MMR-Online-Dienste Anmeldung Bedienungsanleitung Gültig ab: 01.01.2006 Version: MMR-Online-Dienste Version 3.0 Verfasser: Ralf Jung Aktualisierung: 19.12.2005 10:37:14 Inhaltsverzeichnis Allgemeines...

Mehr

SAP Business One Adapter

SAP Business One Adapter H A N D B U C H SAP Business One Adapter Intrexx 7 Inhaltsverzeichnis 1. Installation... 4 1.1. Anpassen der portal.wcf... 4 1.2. SAP Business One Verbindung einrichten... 4 2. Problemlösung... 7 UNITED

Mehr

Profi cash 10. Electronic Banking. Installation und erste Schritte. Ihre Spezialisten für den elektronischen Zahlungsverkehr und moderne Bezahlsysteme

Profi cash 10. Electronic Banking. Installation und erste Schritte. Ihre Spezialisten für den elektronischen Zahlungsverkehr und moderne Bezahlsysteme Electronic Banking Ihre Spezialisten für den elektronischen Zahlungsverkehr und moderne Bezahlsysteme Profi cash 10 Installation und erste Schritte Legen Sie bitte die CD ein. Sollte die CD nicht von alleine

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

Jahreswechsel AMONDIS. mit medico WIBU oder SAP FI

Jahreswechsel AMONDIS. mit medico WIBU oder SAP FI Jahreswechsel AMONDIS mit medico WIBU oder SAP FI Jahreswechsel AMONDIS Finanzwesen Inhalt FINANCIAL SOLUTIONS... 2 Neues Wirtschaftsjahr anlegen... 3 Aktualisierung der Belegnummernkreise... 4 Nummernkreise

Mehr