Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Gairovald Lederer Geändert vor über 10 Jahren
1
Datenbankzugriff über ISAPI-Webservererweiterungen
Präsentation zur Belegarbeit für Vorlesung „Datenbanken II“ Andrei Scheibner (WF97w2)
2
ISAPI-Webservererweiterungen
3
Funktionen und Datenstrukturen
GetExtensionVersion HttpExtensionProc Extension Control Block (ECB) Informationen über die Client-Anfrage und die Antwort des Servers Zeiger auf Callback-Funktionen GetServerVariable ReadClient WriteClient ServerSupportFunction
4
Extension Control Block
cbSize: DWORD; // size of this struct. dwVersion: DWORD; // version info of this spec ConnID: HCONN; // Context number not to be modified! dwHttpStatusCode: DWORD; // HTTP Status code // null terminated log info specific to this Extension DLL lpszLogData: array [0..HSE_LOG_BUFFER_LEN-1] of Char; lpszMethod: PChar; // REQUEST_METHOD lpszQueryString: PChar; // QUERY_STRING lpszPathInfo: PChar; // PATH_INFO lpszPathTranslated: PChar; // PATH_TRANSLATED cbTotalBytes: DWORD; // Total bytes indicated from client cbAvailable: DWORD; // Available number of bytes lpbData: Pointer; // pointer to cbAvailable bytes lpszContentType: PChar; // Content type of client data
5
HttpExtensionProc (Beispiel)
function HttpExtensionProc(var ECB: TEXTENSION_CONTROL_BLOCK): DWORD; stdcall; var ResStr: string; StrLen: DWORD; begin ECB.lpszLogData:='Delphi-DLL'; ResStr:='<HTML><HEAD><TITLE>ISAPI-Hallo</TITLE></HEAD>'+ '<BODY><H1>ISAPI-Hallo!!</H1>'+ FormatDateTime('d. mmmm yyyy, hh:nn:ss',Now())+ '</BODY></HTML>';
6
HttpExtensionProc (Beispiel)
ResStr:=Format( 'HTTP/ OK'#13#10'Content-Type: text/html'#13#10+ 'Content-Length: %d'#13#10'Content:'#13#10#13#10'%s', [Length(ResStr), ResStr]); StrLen:=Length(ResStr); ECB.dwHTTPStatusCode:=200; ECB.WriteClient(ECB.ConnID,Pointer(ResStr),StrLen,0); HttpExtensionProc:=HSE_STATUS_SUCCESS; end;
7
Vorteile Nachteile Liegen in kompilierter Form vor
Abarbeitung verschiedener Anfragen in Threads innerhalb eines Prozesses Status bleibt zwischen Aufrufen erhalten (abhängig vom Webserver) Nachteile Nur in Windows-Umgebung ausführbar Schlecht änderbar Höherer Entwicklungsaufwand
8
OLE DB und ADO Object Linking and Embedding for Databases
COM-basiert ermöglicht Zugriff auf beliebige Datenbanken über einen Provider ActiveX Data Objects Frontend für OLE DB Sammlung von Objekten für den Datenbankzugriff
9
Datenbankzugriff mittels ADO und OLE DB
10
ADO-Bibliothek (Version 2.0)
11
Datenbankstruktur
12
Funktionalität der Anwendung
Anmeldung/Abmeldung Suchen nach Personen, Rassen, Planeten, Raumschiffen Änderung der Einträge von Personen, Rassen, Planeten, Raumschiffen Hinzufügen von neuen Einträgen für Personen, Rassen, Planeten, Raumschiffe
13
Entwicklungsumgebung
Borland Delphi 4.0 Laufzeitumgebung Windows NT4.0 (2000) Oracle (8.1.7) Webserver OmniHTTPd 2.0 (dito, Internet Information Server 5.0) ADO 2.0 Microsoft OLE DB Provider für Oracle (dito, Oracle Provider für OLE DB) javascriptfähiger Webbrowser
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.