M. Schreyer / Dr. Joachim Schwarte,
internetworld august '97

Access-Datenbanken im WWW mittels IDC und HTX


Online-Datenbanken mit dem Microsoft Internet-Information-Server


Benutzer des PC-Betriebssystems Windows NT 4.0 können vorhandene Datenbanken ohne zusätzlichen Softwareaufwand Internet- bzw. Intranet-fähig machen. In diesem Artikel zeigen wir Ihnen wie.


Dynamische WWW-Angebote, die die interaktive Eingabe und Abfrage von Datenbankinhalten gestatten, gehören zu den attraktivsten Möglichkeiten der modernen Netzwerktechnologien. Im Internet Information Server (IIS) aus dem Hause Microsoft, der einen Bestandteil des Betriebssystems Windows NT 4.0 Server darstellt, sind die notwendigen Softwarekomponenten für einfache aber durchaus leistungsfähige Anwendungen dieser Art bereits standardmäßig enthalten. Die neueste Version des Programm IIS wird bei der Installation der aktuellen Windows NT 4.0 Service-Packs, die von den WWW-Seiten der Firma Microsoft heruntergeladen werden können, jeweils automatisch installiert.

Über die einheitliche ODBC-Softwareschnittstelle, die vom Windows-Betriebssystem bereitgestellt wird, können Datenbankquellen, die mit Systemen unterschiedlicher Hersteller erzeugt wurden, über den IIS in das WWW bzw. in ein Intranet integriert werden. Für die Realisierung dieser Möglichkeiten haben die Microsoft-Entwickler weitestgehend auf vorhandene Technologien wie HTML und SQL zurückgegriffen. Daher ist eine Nutzung der hier beschriebenen Datenbank-Schnittstelle ohne speziellen Programmieraufwand möglich. Die Erstellung entsprechender Datenbankanwendungen verursacht Entwicklern, die mit den Grundkonzepten von SQL und HTML vertraut sind, in der Regel keinen allzu großen Zeitaufwand. Die Einbindung vorhandener Datenbankinhalte innerhalb von WWW- bzw. Intranet-Projekten ist ebenfalls ohne Probleme realisierbar. Dieselbe Funktionalität steht bei den Peer-Web-Services von Windows NT 4.0 Workstation sowie unter Windows 95 bei Benutzung des Personal Web Servers, der z. B. Bestandteil des Softwarepaketes Frontpage 97 ist, zur Verfügung. Für die im folgenden besprochenen Beispiele wird vorausgesetzt, daß als Datenbanksoftware das Produkt MS-Access von Microsoft zum Einsatz kommt. Es sei aber nochmals darauf hingewiesen, daß aufgrund der Standardisierung der Softwareschnittstellen auch andere Datenbankprogramme in entsprechender Weise als Basis für Internetangebote verwendet werden können, sofern die hierzu benötigten ODBC-Treiber installiert sind.

Alle Abkürzungen

IIS = Internet Information Server. Der in Windows NT 4.0 Server integrierte, kostenlose Internet Server von Microsoft

ODBC = Open Database Connectivity. Datenbank-Softwareschnittstelle zur Ausführung von SQL-Anweisungen auf unterschiedlichen relationalen Datenbanksystemen

DSN = ODBC-Systemdatenquellenname, enthält die Systeminformationen, an welcher Stelle und mit welchem ODBC-Treiber eine Datenquelle geöffnet werden kann

IDC = Internet Database Connector. Als Bestandteil des IIS dient diese Programmschnittstelle zur Anbindung von ODBC-fähigen Datenbanken

ISAPI = Internet Server Application Programming Interface. Eine sehr schnelle und leistungsfähige Programmierschnittstelle des Microsoft IIS für serverseitige Internetanwendungen

HTX-Templates = Hypertext Markup Language Extension Files sind HTML-Erweiterungsdateien mit Platzhaltern zur Formatierung dynamischer Datenbankinhalte im World Wide Web.

SQL = Structured Query Language ist eine Datenbanksprache, die wegen Ihrer leichten Verständlichkeit sehr verbreitet ist und von praktisch allen wichtigen Datenbankmanagementsystemen unterstützt wird.

 

Die Kommunikation zwischen Datenbank und Browser

Während bei herkömmlichen WWW-Seiten mit statischen Inhalten ein fertiges HTML-Dokument vom Server angefordert wird, verbirgt sich hinter dem Aufruf einer Datenbankabfrage über den Browser lediglich eine Dokumentvorlage mit Platzhaltern, die erst im Moment der Anforderung mit Inhalten der angebundenen Datenbank gefüllt werden. Durch die Betätigung einer Schaltfläche oder eines Hypertext-Links bewirkt der Benutzer die Ausführung einer sogenannten IDC-Datei auf dem Internetserver, in der sich Angaben über die Datenquelle sowie SQL-Befehlsfolgen befinden. Hierdurch wird die ODBC-Schnittstelle aktiviert. Diese führt dann die SQL-Abfrage gegen die Datenbank aus und reicht die zurückerhaltenen Datensätze an den Internetserver zurück. Dort wird schließlich aus einer Dokumentvorlage, die im HTX-Format vorliegt, und den Abfragedaten ein neues HTML-Dokument erzeugt und als formatiertes Abfrageergebnis an den Browser des Benutzers zurückgegeben.

Da der Internet Database Connector unter konsequenter Anwendung der sehr schnellen ISAPI-Schnittstelle des Internet-Servers programmiert wurde, verursachen diese Vorgänge bei der heute üblichen Serverhardware keine spürbar längeren Antwortzeiten als sie bei konventionelle HTML-Dokumenten, die in ihrem Umfang vergleichbar sind, festgestellt werden. Der Vorteil dieser dynamischen WWW-Seiten liegt hierbei jedoch eindeutig in ihrer Flexibilität. Der Benutzer kann z. B. in HTML-Formularen die Möglichkeit erhalten, Abfragekriterien einzugeben und so aus einer größeren Datenmenge gezielt die Informationen abrufen, die ihn interessieren. Die Datenbanksprache SQL bietet darüber hinaus noch weitere Befehle an, die es z. B. ermöglichen, Daten über das Intranet bzw. Internet in bestehende Datenbanken einzugeben und zu verändern, so daß dem Benutzer die Funktionalität des Datenbanksystems auch mit einem Browser als Datenbank-Frontend erhalten bleibt. Dem Außendienstmitarbeiter eines Unternehmens, der über das Internet die Auftragsdatenbank seiner Firma aktualisiert, präsentiert sich dabei exakt dieselbe Bedieneroberfläche im Browserfenster, als wenn er den jeweiligen Vorgang an seinem Arbeitsplatz im Intranet durchführen würde. Der WWW-Browser fungiert dabei in beiden Fällen als eine Art Fenster zum Datenbanksystem. Im folgenden Beispiel sollen die Schritte zur Intranet- bzw. Internetanbindung an einer einfachen und praxisnahen Adressendatenbank verdeutlicht werden.


Erstellung der Datenbank

Relationale Datenbanken bestehen grundsätzlich aus Tabellen. Im folgenden Beispiel werden zunächst die wesentlichen Schritte der Anbindung einer in MS Access erstellten Adressenliste an den Internet-Information-Server beschrieben. Die entsprechende Tabelle sei in einer Datenbank-Datei mit dem Namen Adressen.mdb abgelegt.

Mit der Datenbanksoftware Access von Microsoft kann der
Datenbankinhalt in tabellarischer Form dargestellt werden.
(Zum Vergrößern auf das Bild klicken!)

Der Einfachheit halber enthält das im hier behandelten Beispiel betrachtete Datenbank-Projekt nur eine einzige Tabelle, die ihrerseits den Namen „Adressentabelle" trägt. Diese Tabelle besteht aus sieben Spalten, die mit

  • ID (automatisch generierte Identifikationsnummer des Datensatzes)
  • Name
  • Vorname
  • Straße_Hausnr
  • PLZ
  • Wohnort
  • Telefonnr

überschrieben sind. Die notwendigen Schritte zur eigentlichen Erstellung der beschriebenen Datenbank-Tabelle werden in der Online-Hilfe des Programms MS-Access ausführlich dargestellt. Im Weiteren muß die neue Datenbank nun für den Zugriff durch den IIS bzw. die ODBC-Schnittstelle vorbereitet werden.

Hierfür ist es notwendig, daß sich die genannte Datenbank-Datei in einem für den WWW-Dienst des Servers freigegebenen Verzeichnis befindet. Diese Voraussetzung ist im Falle einer Web-Site, die mit dem IIS verwaltet wird, standardmäßig für das WWW-Server-Stammverzeichnis „\inetsys\wwwroot\" und dessen Unterverzeichnisse erfüllt. Dem Verzeichnis der Datenbank-Datei, die sich in dem hier betrachteten Beispiel in „\inetsys\wwwroot\Kunden\" befinden soll, müssen außerdem Schreib- und Ausführungsrechte für den Zugriff aus dem Internet zugeteilt werden. Dafür muß das Verzeichnis in dem entsprechenden Options-Dialog des Servers als sogenanntes virtuelles Verzeichnis eingetragen sein. Zur Aktivierung dieser Funktionalität wird zunächst in der Startleiste von NT 4.0 die Gruppe Programme ausgewählt und „Microsoft Internet Server" angecklickt. Dort wird dann der Internet-Dienst-Manager geöffnet. Innerhalb eines Microsoft Netzwerks ist dann mit einem Mausklick der WWW-Server auszuwählen, auf dem sich die Datenbank befindet. Im Menü Eigenschaften wird die Option „Diensteigenschaften" ausgewählt. In der hierdurch geöffneten Dialogbox wird dann die Registerkarte „Verzeichnisse" aktiviert. In diesem Formular kann dem IIS nun mitgeteilt werden, welches Verzeichnis auf der lokalen Festplatte für den Zugriff auf die Datenbank aus dem Internet erreichbar sein soll. Bei Betätigung der Taste „Hinzufügen" erscheint ein weiteres Formularfeld mit einer Eingabezeile, in der entweder der Verzeichnispfad, wie z. B. „c:\inetsys\wwwroot\Kunden", direkt über die Tastatur eingegeben oder aber über die Schaltfläche „Durchsuchen" mit der Maus ausgewählt werden kann.

Diesem auf der lokalen Festplatte bestehenden Verzeichnis muß nun im Eingabefeld „Alias" ein virtueller Name zugewiesen werden. Dieser soll im hier betrachteten Beispiel „/Kunden" lauten. Durch die Angabe dieses gewählten Aliasnamens als Bestandteil eines URL kann das relevante Verzeichnis nun als Unterverzeichnis des Stammverzeichnisses der Web-Site im Browser aufgerufen werden. Dieser virtuelle Name kann sich vom wirklichen Namen des Verzeichnisses auf der lokalen Festplatte durchaus unterscheiden. Bei Web-Sites, die sich über verteilte Verzeichnisse auf mehreren Festplatten erstrecken, haben diese Aliasnamen den Vorteil, daß die Hierarchie der virtuellen Verzeichnisse auf der Internet-Site nicht der wirklichen Anordnung auf den Laufwerken entsprechen muß und so dem Benutzer verborgen bleibt, bzw. dem Webmaster zusätzliche Gestaltungsfreiheit läßt. Als Ergänzung zum Verzeichnis der Datenbankdatei wird empfohlen, für die IDC- und HTX-Dateien ein eigenes Verzeichnis zu erstellen und auch diesem im Internet-Dienst-Manager einen Aliasnamen zu geben. Sinnvoll für ein entsprechendes Verzeichnis mit dem Pfad „c:\inetsys\wwwroot\Abfragen\" wäre z. B. der Aliasname „/Kunden/Abfragen". Auf diese Trennung von ausführbaren Dateien von solchen, auf die auch Lesezugriffe erfolgen müssen, wird bei den Sicherheitsüberlegungen im nächsten Kapitel noch näher eingegangen.

 

Sicherheitsüberlegungen

Bei der Verwendung des IIS stehen dem Web-Master alle Sicherheitskonzepte des Betriebssystems Windows NT zur Verfügung, d. h. die durch das Betriebssystem verwalteten Zugriffsrechte werden auch bei Datenbankoperationen, die über den Internet Information Server durchgeführt werden, beachtet. Hierdurch wird die Realisierung einer sehr differenzierten und leistungsfähigen Zugriffskontrolle ermöglicht. Das NTFS Sicherheitssystem ist sowohl auf komplette Verzeichnisse als auch auf die einzelnen Dateien anwendbar, so daß der Zugriff auf Daten nur für bestimmte Nutzergruppen nach einer Paßwortabfrage im Browser ermöglicht werden kann. Besonders bei Datenbanken, in denen Datensätze über den Browser auch verändert oder ein Teil der Datenbank vor Zugriffen geschützt werden soll, ist auf die schon angesprochene Trennung der ausführbaren IDC- und HTX-Dateien und den mit Lese- und Ausführungsrechten zu versehenden Hypertext- und Datenbankdateien zu achten. Durch das fehlende Leserecht für die Abfrage-Dateien wird verhindert, daß Benutzer an Informationen im Quelltext gelangen können und damit die Möglichkeit erhalten, unerwünschte Manipulationen in der Datenbank durchzuführen. Gerade für Intranet-Umgebungen ist auch jene Einstellmöglichkeit des IIS interessant, die es erlaubt, nur bestimmte IP-Adressen für Zugriffe auf einem WWW-Server zuzulassen und die Nutzung der Datenbank damit auf die im Unternehmensnetzwerk vorhandenen Computer von vornherein zu beschränken. Die vorhandene automatische Protokollierung der Datenbankzugriffe und die Möglichkeit des Verzichts auf einen anonymen Login befriedigen schließlich auch gehobenere Sicherheitsansprüche im Intranet.


Sorgt für Connectivity: Die ODBC-Schnittstelle

Um die Datenbankschnittstelle überhaupt für die Adressendatenbank konfigurieren zu können, muß bei der Installation von Windows NT die Option ODBC ausgewählt worden sein. Sofern die entsprechenden Komponeneten noch nicht installiert wurden, muß das Setup erneut ausgeführt werden. Hierzu erfolgt ein Doppelklick auf das Symbol „Internet Information Server" in der Programmgruppe „Microsoft Internet Server". In dem hierdurch aktivierten Installationsdialog können die fehlenden ODBC-Komponenten angewählt werden. Diese werden dann in der Gruppe „Systemsteuerung" installiert. Zur Internet-/Intranetanbindung wird ein ODBC mit einer Versionsnummer, die größer als 2.5 ist, benötigt. Momentan ist die Version 3.0 aktuell. Der Internet-Datenbank-Connector benötigt außerdem für das Datenbanksystem einen 32-Bit-ODBC-Treiber, der ab den Versionen Microsoft Access 95 und Office 95 in den Programmpaketen enthalten ist. Der für Access 2.0 verfügbare ODBC-Treiber arbeitet hingegen nicht mit dem IIS zusammen.

Für die Konfiguration der ODBC-Schnittstelle steht eine
spezielle Dialogbox zur Verfügung
.
(Zum Vergrößern auf das Bild klicken!)

Die Konfiguration der ODBC-Schnittstelle zur Anbindung einer Datenbank als Systemdatenquelle (DSN) erfolgt durch Aufruf des ODBC-Symbols in der Systemsteuerung von Windows NT. Hierdruch wird das Dialogfeld „Datenquellen-Administrator" aktiviert. Wenn zuvor schon andere ODBC-Datenquellen angegeben wurden, werden diese ebenfalls aufgelistet. Über die Schaltfläche „System-DSN" erfolgt ein Wechsel in das Dialogfeld „Systemdatenquellen". Die neue Datenbank kann hier durch „Hinzufügen" eingetragen werden. Nachdem im Listenfeld auf einen Microsoft Access-Treiber doppelgeklickt wurde, öffnet sich ein weiteres, treiberspezifisches Dialogfeld. Im Eingabefeld „Datenquellenname" kann der Adressen-Datenbank nun ein logischer Name zugeteilt werden, unter dem sie vom IIS aufgerufen werden kann. Für unser Beispiel einer Adressendatenbank wird die Datenquelle schlicht mit dem Wort „Adressen" benannt.

Im Falle einer Anforderung von Daten über das WWW aus dieser Datenquelle dient dieser logische Name nun dazu, systemintern auf den entsprechenden Datenbanktreiber sowie der Position der Datenbank in einem Netzwerk zu verweisen. Mit der Betätigung der OK-Schaltfläche wird die Registerkarte Systemdatenquellen erneut angezeigt und enthält nun den Namen der Datenquelle. Ein erneuter Klick auf „OK" beendet das ODBC-Setup.

 

IDC-Dateien und SQL-Befehle

In IDC-Dateien sind die für den Datenbankzugriff benötigten Informationen enthalten. Derartige Dateien lassen sich mit jedem ASCII-Texteditor erstellen und besitzen einen sehr schematischen Aufbau, der sich aus der Definition von IDC-Feldern und Abschnitten mit SQL-Befehlsfolgen zusammensetzt. Während die IDC-Felder vorwiegend die allgemeinen Parameter zum Zugriff auf die Datenbank enthalten, werden in den SQL-Abschnitten die eigentlichen Datenbankaktionen definiert.

Dabei ist allerdings zu beachten, daß die SQL-Anweisungen von der ODBC-Schnittstelle verarbeitet werden müssen. Man darf daher nicht die Syntax von MS Access-SQL verweden, sondern muß den speziellen Dialekt ODBC-SQL benutzen, will man sich hartnäckige Fehlermeldungen ersparen. Dieser SQL-Dialekt ist nach Installation des MS Access-ODBC-Treibers unter Windows NT 4.0 im Systemverzeichnis in der Datei MSJETSQL.hlp dokumentiert.

In unserem kleinen Beispiel sollen aus der Adressentabelle Kunden anhand Ihrer Telefonnummer ausgewählt werden. In der IDC-Datei „Telefon.idc", die diese Abfrage steuert, müssen dafür zunächst in den Feldern „Datasource" und „Template" der Datenquellenname (DSN) „Adressen" sowie der Name der zur Abfrage gehörenden Datei „Adresslist.htx" für die Formatierung der Ausgabe definiert werden. Optional kann man an dieser Stelle auch mit dem IDC-Feld „MaxRecords" z. B. die Anzahl der auszugebenden Treffer beschränken, was bei sehr umfangreichen Datenbanken und ungenauen Suchkriterien überlange Wartezeiten verhindert. Im Abschnitt „SQL-Statement" folgt dann der schon angesprochene Teil mit den SQL-Befehlsfolgen. Der Befehl „SELECT from" wählt aus der angebundenen Datenbank bestimmte Tabellenspalten aus. Das Sonderzeichen „*" (Wildcard) nach dem SELECT-Befehl veranlaßt die Einbeziehung aller Spalten der Tabelle mit dem Namen „Adresstabelle" in die Abfrage.

Sollen nur einige Spalten abgerufen werden, um die zu übertragende Datenmenge zu reduzieren, so fügt man einfach anstelle der Wildcard die durch Kommata getrennten Namen der betreffenden Spalten ein. Um alle Datensätze auszuwählen, deren Wert in der Tabellenspalte „Telefonnr" mit dem aus dem Eingabefeld des HTML-Formulars erhaltenen Parameter %Telefon% übereinstimmt, muß die SQL-Bedingung „where" eingefügt werden. Parameter aus HTML-Dateien sind zur Unterscheidung von SQL-Tabellenspaltenbezeichnern in Prozentzeichen einzuschließen. Findet der Internet Database Connector diesen Parameter in der IDC-Datei, ersetzt er ihn durch den vom Web-Browser gesendeten Wert und übergibt dann die SQL-Anweisungen an den ODBC-Treiber.
Das Prozentzeichen dient darüber hinaus auch als Stellvertreterzeichen in SQL, über welches Tabellenspalten nach Feldern, die bestimmten Zeichenfolgen enthalten, durchsucht werden können. Damit ein Prozentzeichen als Stellvertreterzeichen erkannt wird, muß es zwischen zwei weiteren Prozentzeichen eingeschlossen sein. In unserem Beispiel führt die Abfrage des Parameters %Telefon%% dazu, daß nicht nur alle Telefonnummern abgerufen werden, die in ihrem Wert dem eingegebenen HTML-Parameter entsprechen, sondern auch alle Nummern, deren Beginn mit dem Wert des Parameters %Telefon%% übereinstimmen. Würden zusätzlich mit %%%Telefon%%% am Anfang noch weitere Prozentzeichen eingefügt, würde die SQL-Abfrage alle Adressendatensätze zurückgeben, in deren Feld „Telefonnr" die Zeichenfolge des im Web-Browser eingegebenen HTML-Parameters enthalten ist. Der „ORDER BY Name"-Befehl am Ende der IDC-Datei veranlaßt schließlich eine alphabetische Sortierung der zurückerhaltenen Datensätze, geordnet nach den Kundennamen.

Die im beschriebenen Beispiel benutzte Datei „Telefon.idc" hat folgenden Inhalt:

Datasource: Adressen
Template: Adressliste.htx
SQLStatement:

+SELECT *
+ from Adressentabelle
+ where Telefonnr like '%Telefon%%%'
+ORDER BY Name

 

IDC-Befehle

Datasource = Der Name, welcher der ODBC-Systemdatenquelle (DSN) entspricht

Template = Name der HTX-Dokumentvorlage zur Formatierung der Ausgabe der Daten im Browser

SQLStatement = SQL-Anweisungen zur Abfrage bzw. Manipulation von Daten in der Datenbank. Jede SQL-Befehlszeile in diesem Abschnitt beginnt mit einem +

DefaultParameters = vom Browser-Client nicht definierten Variablen können hier Standardwerte zugeordnet werden

RequiredParameters = Werden den hier angeführten Variablen vom Browser-Client keine Werte zugeordnet, erscheint im Browserfenster eine Fehlermeldung

MaxRecords = Beschränkt die Anzahl der zurückgegebenen Datensätze auf einen bestimmten Maximalwert

MaxFieldSize = Die maximale Puffergröße, die vom IDC für ein Feld reserviert wird. Zeichen, die diese Größe übersteigen, werden abgeschnitten

Password = erzeugt eine Paßwortanfrage und übergibt den Wert an das Datenbanksystem, falls dieses nicht die integrierte Sicherheit von MS SQL Server und Microsoft Access enthält

Username = erzeugt eine Benutzeranfrage und übergibt den Wert an das Datenbanksystem, falls dieses nicht die integrierte Sicherheit von MS SQL Server und Microsoft Access enthält

 

Aufruf aus HTML

Der einfachste Weg für den Aufruf einer .idc-Datei besteht in der Einbindung eines URL in ein HTML-Dokument. Um z. B. alle Datensätze der Adressentabelle ohne Einschränkung durch die „where"-Bedingung abzufragen, könnten Sie auf einer Webseite folgenden Hyperlink einbinden:

...

<A HREF="http://wwwservername/Kunden/Abfragen/telefon.idc">
Klicken Sie hierauf, um alle Adressen abzufragen</A>

...

Für der Benutzer der Datenbank ist es jedoch in der Praxis zumeist wichtiger, die Auswahl der Daten durch die Möglichkeit eigener Eingaben im Web-Browser mit zu bestimmen. Über die schon bei den IDC-Dateien angesprochene Einbeziehung von Werten aus HTML-Eingabeformularen in SQL-Abfragen lassen sich so ganze Abfragemasken in HTML programmieren und zur gezielten Datensuche verwenden. Das Beispieldokument „Kundenliste.htm" enthält zur Erfassung der Abfragebedingung ein INPUT-Feld mit dem Namen „Telefon".

...

<FORM METHOD="POST" ACTION="/Kunden/Abfragen/Telefon.idc">
<P>
Geben die gesamte oder den Anfang der Telefonnummer ein:
<INPUT NAME="Telefon"><P>
<INPUT TYPE="SUBMIT" VALUE="Abfrage ausf&uuml;hren">
</FORM>

...

Sobald der Benutzer die Schaltfläche „Abfrage ausführen" im Web-Browser betätigt, fordert dieser am Server die Ausführung der Datei „Telefon.idc" an und übergibt dabei der IDC-Datei den HTML-Eingabeparameter %Telefon%.

Die Datenbankabfragen geschehen über HTML-
Fomulare, die die benötigten Eingabefelder und
Schaltflächen enthalten
.
(Zum Vergrößern auf das Bild klicken!)

 

Formatierung der Ausgabe mit HTX-Dateien

Um die von der Datenbankabfrage zurückerhaltenen Informationen in einer Tabelle oder, vergleichbar mit den Berichten in Access, in einer Art Ausgabeformular übersichtlich zu formatieren, wird jeder IDC-Datei eine HTX-Dokumentvorlage zugeordnet. Diese HTML-Erweiterungsdatei besteht zum größten Teil aus normalem HTML-Code, mit dem Unterschied, daß mit zusätzlichen Schlüsselwörtern die Realisierung der Datenbank-Ausgaben gesteuert werden kann. Die wichtigsten Schlüsselwörter sind dabei die beiden Befehle <%begindetail%> und <%enddetail%>. Sie umschließen einen Abschnitt in der HTML-Erweiterungsdatei, in dem einzelne Elemente der Datenausgabe aus der Datenbank eingearbeitet werden. Die Position dieser zurückgelieferten Daten geben die Spaltennamen der abgefragten Tabelle, begrenzt durch „<%" und „%>", als Platzhalter an. In unserem Beispiel werden die Daten der Felder „Name", „Vorname" usw. bis „Telefonnr" in HTML-Tabellenfeldern ausgegeben.

Die Ausgabe der gefundenen Datensätze, die der ein-
gegebenen Abfrage entsprechen, kann z. B. in Form
einer HTML-Tabelle erfolgen
.
(Zum Vergrößern auf das Bild klicken!)

Zur Steuerung der Ausgabe sind in HTX-Dateien auch Bedingungen in einer „if-then-else"-Anweisung erlaubt. Beispielsweise wird häufig eine Bedingung eingefügt, die überprüft, ob die Abfrage überhaupt zur Rückgabe von Treffern geführt hat. Mit der <%if%>-Anweisung und der vordefinierten Variablen „CurrentRecord" kann die Ausgabe dahingehend gesteuert werden, daß eine Fehlermeldung gedruckt wird, wenn keine Datensätze zurückgeliefert wurden. Der Wert des Zählers „CurrentRecord" ist für diesen Fall dann gleich Null.

Für den Fall, daß kein Datensatz mit der Anfrage zur
Deckung zu bringen ist, kann eine entsprechende
Meldung automatisch ausgegeben werden
.
(Zum Vergrößern auf das Bild klicken!)

Die hier benutzte Datei „Kundenliste.htx" enthält im wesentlichen die folgenden Zeilen:

...

<TABLE>
<H2>Gefundene Kundenadressen mit Tel. <I><%idc.Telefon%> . . .</I></H2>
<P>
<TR bgcolor="#C0C0C0">
<TH><B>Name</B></TH>
<TH><B>Vorname</B></TH>
<TH><B>Straße & Hausnr.</B></TH>
<TH><B>PLZ</B></TH>
<TH><B>Wohnort</B></TH>
<TH><B>Telefonnummer</B></TH>
</TR>

<%begindetail%>
<TR><TD><%Name%></TD>
<TD><%Vorname%></TD>
<TD><%Straße_Hausnr%></TD>
<TD><%PLZ%></TD>
<TD><%Wohnort%></TD>
<TD><%Telefonnr%></TD></TD>
</TR>
<%enddetail%>

</TABLE>
<P>
<%if CurrentRecord EQ 0%>
<H3>Es wurden keine Kunden mit dieser Telefonnummer gefunden!<BR>
Versuchen Sie es erneut.</H3>
<%endif%>
</center>
<P>

...

Bei einer von Benutzereingaben abhängigen Formatierung der Ausgabe ist es oft erforderlich, in der HTX-Datei auf die in der IDC-Abfrage übergebenen Parameter des HTML-Eingabeformulars zurückzugreifen. Diese Funktionalität kann dadurch realisiert werden, daß beispielsweise dem Parameternamen <%Telefon%> die Erweiterung „idc." vorangestellt wird.


Neue Trends

Da die sinnvolle Realisierbarkeit leistungsfähiger Datenbankanwendungen naturgemäß eine sehr erhebliche Bedeutung für die Wirtschaftlichkeit von Intranet-Lösungen hat, werden in diesem Bereich zur Zeit in rascher Folge immer neue Entwicklungen vorgestellt.

Mit der Produktlinie „97" hat Microsoft die hier beschriebenen Technologien teilweise soweit weiterentwickelt, das die Erstellung netzwerkfähiger Datenbanken, die auf IDC basieren, in hohem Maße durch sogenannte Assistenten automatisiert werden kann. Die Erstellung der oben angesprochenen IDC- und HTX-Dateien kann z. B. durch einen entsprechenden Menupunkt innerhalb von Access 97 und FrontPage 97 per Mausklick angefordert werden. Für eine sinnvolle Nutzung kommt der Datenbank-Entwickler allerdings auch bei der Benutzung dieser Möglichkeiten kaum darum herum, die genannten Dateien in Details zu bearbeiten. Er muß daher auf alle Fälle mit der jeweiligen Syntax vertraut sein.

Als aufwendigere Variante des Themas „dynamische datenbank-gebundene WWW-Inhalte" wurde über die hier beschriebenen Möglichkeiten hinaus die Technologie „Active Server Pages" (ASP) vorgestellt, welche ebenfalls im Hause Microsoft entwickelt wurde. ASP ist insgesamt leistungsfähiger als die hier beschriebenen Technik, wobei die Einbindung von Datenbanken letztendlich aber nur einen Teil der hierbei geschaffenen Möglichkeiten darstellt.

Auch die WWW-Programmiersprache Java wurde durch die Schnittstelle JDBC (Java Database Connector) im Bezug auf die Erstellung von Datenbankanwendungen aufgerüstet . Es ist zu erwarten, daß auch in der nächsten Zukunft weiterhin zahlreiche Neuerungen im Bereich der Online-Datenbanken auf dem Markt erscheinen werden.


Fazit

Die IDC-Datenbanken stellen eine kostengünstige und sehr zuverlässige Lösung für Datenbankanwendungen im Intranet bzw. im WWW dar. Gerade die Tatsache, daß diese Technik dabei auf erprobte und weitverbreitete Softwareprodukte aufbaut, macht sie für die Umsetzung von Projekten, bei denen es auf die rasche Realisierung der Intranet-Möglichkeit bezüglich bereits vorhandener konventioneller Datenbankstrukturen ankommt, sehr interessant.

(Dieser Artikel erschien im Heft Nr. 8/97 der Zeitschrift InternetWorld, Redakteur Pit Klein)

Links zum Thema

http://www.microsoft.com/accessdev/accwhite/jobforpa.htm
„Job Forum: A Sample Internet Information Server Application that Stores and Retrieves Data from a Microsoft Access Database"; ein umfangreiches Beispiel für die Anwendung der hier beschriebenen Datenbanktechnik

http://www.microsoft.com/sql/inet/inetdevstrat2.htm
„Internet/Database Technology Roadmap – Internet Database Connector"; eine ausführliche Beschreibung des IDC

http://www.microsoft.com/syspro/technet/tnnews/features/webdb.htm
„Microsoft's Database-Web Connectivity Solutions"; eine vergleichende Darstellung unterschiedlicher Konzepte für Online-Datenbanken

http://www.microsoft.com/accessdev/docs/bapp97/chapters/ba21_3.htm
„Developing Applications for the Internet and the World Wide Web"; eine detaillierte Beschreibung für Anwendungs-Entwickler

http://www.microsoft.com/FrontPageSupport/content/IDC/default.htm
„IDC Web Wizard: Using Internet Database Connectivity with FrontPage 97"; eine Darstellung der aktuellen Möglichkeiten bei der Verwendung von FrontPage 97

http://www.microsoft.com/accessdev/accwhite/acdatweb/default.htm
„Use Microsoft Access 97 to Access Live Data on the Web"; eine Beschreibung der WWW-relevanten Möglichkeiten von Access 97



13.02.1999 von Marcus Schreyer
Zugriffsstatistik   Extreme Tracker