Web Adressdatenbank mit ASP

Werbung
Web Adressdatenbank mit ASP
By Martin Bertele (T) 2000
Internet 2 (Prof. Usadel)
Web Adressdatenbank mit ASP
1 Einleitung
1.1
Vorwort
Auf den nächsten paar Seiten will ich eine kleine Anleitung geben, wie man per ASP(Active
Server Pages) auf eine MS Access Datenbank zugreifen kann.
Am Beispiel einer kleinen Adressdatenbank (bestehend aus einer Tabelle Adressen), auf die per
ASP zugegriffen wird, soll man die wesentlichen Schritte zur Realisierung einer solchen
Anwendung nachvollziehen können.
1.2
Systemvorraussetzungen
Wenn man das beschriebene Beispiel selbst Zuhause ausprobieren will, braucht man folgende
Software Komponenten:
-
-
1.3
MS Windows98 oder WindowsNT
MS Access (Datenbank)
MS Personal Web Server auf Win98
oder
IIS(Internet Information Server) auf WinNT-Server
ADO (ActiveX Data Objects)
Einen Web-Browser (z.B Internet Explorer oder Netscape)
Architektur
Die folgende Darstellung soll uns einen Überblick verschaffen, wie so eine Datenbankabfrage
zustande kommen soll, und welche Schnittstellen, APIs und Treiber benötigt werden.
Zunächst wird eine Datenbank erstellt, auf die mit einem ODBC (Open Database Connectivity)
Treiber zugegriffen wird. Die eigentliche Kommunikationssprache ist Dabei SQL (Structured
Query Language).
Mit der ADO Bibliothek stehen uns Objekte zur Verfügung, die uns einen effizienten und vor
allem einen komfortablen DB-Zugriff erlauben. Dabei verpackt die ADO eigentlich nur die API
des ODBC Treibers, und stellt für jemanden, der (nur) Vb Skript kann, eine bedienbare
Schnittstelle zur Datenbank dar. Auch hier werden über das Command Objekt SQL Satements
an die Datenbank gereicht. Das eigentliche Programm liegt in Form eines ASP Skripts auf dem
Web-Server und wird Serverseitig von einer Scripting Engine (VB Script Interpreter)
ausgeführt. Der Client (anfragende Browser) kommuniziert mit dem Web Server über http und
bekommt lediglich eine HTML Seite zugesendet.
Seite 1 von 8
Web Adressdatenbank mit ASP
By Martin Bertele (T) 2000
Internet 2 (Prof. Usadel)
Die Abbildung zeigt die Client/Server Architektur für eine dynamische Web Seite. Dabei ist der
ASP-fähige IIS(Internet Information Server) oder der Personal Web Server für die
Serverfunktionalität zuständig, und der Web Browser dient als Client.
1.4
Installationshinweise
Für Windows 98/ME
Personal Web Server
Den Personal Web Server findet man entweder auf einer CD die auch Frontpage 2000 enthält
oder bei der Installation des MS Developer Studios 6.0
Bei Server Setups einfach das NT Option Pack für Windows 9x auswählen !
Seite 2 von 8
Web Adressdatenbank mit ASP
By Martin Bertele (T) 2000
Internet 2 (Prof. Usadel)
Bei Data Access Components findet man die ADO.
Hier findet man auch die ADO-Bibliothek.
Für Windows NT
Für Windows NT gibt es das NT-Option Pack mit dem IIS(Internet Information Server). Die
ADO wird entweder gleich mitinstalliert, oder man sucht sie halt im Internet. Dort gibt’s zum
Download der ActiveX Dll auch eine Hilfe Datei ADO210.chm, also eine kompilierte HTML Hilfe
Datei.
Web-Browser
Als „Client“ kann im Prinzip jeder beliebige Browser verwendet werden.
Seite 3 von 8
Web Adressdatenbank mit ASP
By Martin Bertele (T) 2000
Internet 2 (Prof. Usadel)
2. Implementation
2.2 Erstellen einer DB mit MS Access
MS Access ist Teil des Office Pakets von Microsoft, und kann z.B. von einer Office Cd
Installiert werden.
Ich hab Access verwendet, weil das die meisten Windows User schon auf ihrem Rechner haben,
und vielleicht damit schon mal eine Datenbank erstellt haben. Man kannn natürlich an dieser
Stelle auch mit anderen ODBC-fähigen Datenbanken, wie z.B. Oracle,Sybase,Paradox,Ingres
arbeiten.
Die Adressdatenbank:
Wir wollen nun mit MSAccess eine Adressdatenbank anlegen, die geneau eine Tabelle „Adressen“
besitzt.
Dazu öffnet man MS Access, und erstellt eine leere Datenbank (natürlich kann man auch den
Assistenten verwenden).
Bei der Aufforderung zur Erstellung, gibt man der DB ihren Namen:
Weiter geht’s dem Erstellen einer Tabelle:
Mit einem Doppelklick erscheint die leere Tabelle in der Entwurfsansicht.
Seite 4 von 8
Web Adressdatenbank mit ASP
By Martin Bertele (T) 2000
Internet 2 (Prof. Usadel)
Idiotensicher gestaltet sich auch hier die Definition der Felder und deren Datentypen.
Da jeder Datensatz einer Tabelle eindeutig sein sollte, kann man mit der Erstellung eine ID
Feldes des Datentyps AutoWert einen Primärschlüssel erzeugen. Unterlässt man dies, so wird
man spätestens bei dem Versuch die Tabelle abzuspeichern darauf hingewiesen.
Für meine Anwendung hab ich daraufhin einen „primary key“ erzeugt, um für eventuelle
Erweiterung der DB-Anwendung schon mal vorgesorgt zu haben.
Beim Speicher werden alle Informationen über die DB in einem File mit der Endung „mdb“
abgelegt.
Nach dem Speichern der DB samt ihrer Tabelle „Adressen“ lohnt es sich schon mal vorab einen
ersten Datensatz einzutragen, da dieser beim Testen der ADO/ODBC Verbindung zur DB sehr
hilfreich sein könnte.
Dazu kann man z.B. die Datenblatt Ansicht von Access verwenden.
So Einfach ist Das !
Seite 5 von 8
Web Adressdatenbank mit ASP
By Martin Bertele (T) 2000
Internet 2 (Prof. Usadel)
2.2 Definition einer ODBC Datenquelle
Nachdem wir eine so schöne Adressdatenbank erstellt haben, beschäftigen wir uns mit der
Frage, wie man nun auf die Tabellendaten Zugreifen kann.
In unserem Beispiel kuken wir uns nochmals die Architektur der gesamten Anwendung an. Hier
finden wir eine die Komponente ODBC ( Open Database Connectivity). Diese API (Aplication
Program Interface) wurde unter anderem von Microsoft initiiert und erlaubt einen einheitlichen
Zugriff auf Datenbanken verschiedener Hersteller.
Um den ODBC-Treiber für eine Access Datenbank nutzen zu können definiert man einen sog.
DSN (Data Source Name). Dies geschieht bei Win98 und WinNT in der Systemsteuerung unter
ODBC Datenquellen:
Man geht unter Benutzer DSN auf Hinzufügen und sucht dann den entsprechenden Treiber für
die erstellte Datenbank aus. Hat man unter 2.1 mit einem andern DBMS (DataBas Management
System) gearbeitet so muss man halt jetzt den entsprechenden Treiber für die DB suchen.
!bei Windows NT/IIS musste man eine Sytem DSN erstellen !
Im letzten Schritt Definiert man den eigentlichen DSN (Data Source Name)
Seite 6 von 8
Web Adressdatenbank mit ASP
By Martin Bertele (T) 2000
Internet 2 (Prof. Usadel)
wenn man sich mit Internas von ODBC oder der mdb-Datenbank besser auskennt, lassen sich
noch diverse Einstellungen unter Weitere... machen. Man kann dort unter anderm eine default
Athorisierung (Benutzer/Passwort) angeben. Ansonsten wählt man einfach mit dem Button
Auswählen auf File Ebene das entsprechende mdb-File („AdressDB.mdb“) das mit Access erstellt
wurde aus.
2.3 Erstellen der ASP Seite
Für den Einstieg in dieses Kapitel lohnt es sich, nochmals einen Blick auf die Architektur unter
1.3 zu werfen.
Asp(Active Server Pages) werden also von einem Interpreter auf Serverseite ausgeführt, und
liefern nur reinen HTML Code an den Browser.
Für die Programmierung von ASP-Seiten kann man z.B. den Editor von Windows verwenden, oder
den Inter-Developer von MS mit Syntax Highlightning und diversen anderen ganz brauchbaren
Features für asp Programmierung.
Aufbau einer ASP Seite:
ASP – Code, also Visual Basic Skriptcode wird in einer ASP Seite zwischen
<% ... %> Tags geschrieben, und enthält VBS Kommandos. Falls der Asp Filter des Web Servers
also so ein Tag findet, führt er den Code mit einer Scripting Engine auf Serverseite aus, und
schickt reines Html an den Client.
Zugriff auf die DB mit ADO
Wie schon erwähnt kann man mit ADO (ActiveX Data Objects) , einer Objektbibliothek von
Microsoft, bequem auf die Datenbank zugreifen. Früher gab es da auch noch andere Produkte
wie z.B. DAO(Data Access Objects) oder RDO(Remote Data Objects), aber in diesem Beispiel
wird die ADO benutzt (lässt sich viel schöner bedienen).
Der erste Schritt beim Datenbankzugriff ist, eine „Verbindung“ aufzubauen. Dafür stellt die
Ado das Connection Objekt zur Verfügung, das wie folgt instanziiert und geöffnet wird wird:
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "AdressDB","Administrator",""
Dabei steht AdressDB hier für den DSN (Data Source Name) und Administrator für den
Benutzer.
Seite 7 von 8
Web Adressdatenbank mit ASP
By Martin Bertele (T) 2000
Internet 2 (Prof. Usadel)
für die Anfrage an eine DB gibt es mit ADO verschiedene Möglichkeiten. Man könnte z.B die
Methode „Execute“ des Connection Objekts verwenden, und würde als Rückgabewert auch einen
Recordset erhalten.
Ich habe erst ein Recordset Objekt instaziiert und dieses dann mit der Methode Open
verwendet:
sql = "SELECT * FROM [Adressen]"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
Zur Manipulation/Navigation/Referenzierung der Datensätze verwendet man folgende
Methoden/Eigenschaften des Recordsets:
Navigation:
rs.MoveFirst
rs.MoveLast
rs.MovePrevious
rs.MoveNext
Löschen
rs.Delete
Einfügen
rs.AddNew
Field
rs("Telefon") = …
So.. jetzt sind zumindest mal die wichtigsten Grundlagen für ADO Programmierung abgehandelt,
und wir können uns an die Implementation der Anwendung Kümmern.
2.4 Der ASP Code
-
Die Ado Objectinstanzen (mit Speicherung der Connection und des Recordsets in einer
Session Variablen)
-Case Verteiler (Programmlogik)
Ausgabe der Adressdaten in Html
Html Formular zur Bedienung des Programms
Zusätzliche ASP Datei New (Formular zur Eingabe eines neuen Datensatzes)
Seite 8 von 8
Herunterladen