Beispiel für einen MS Access-Datenbank-Zugriff

Diese kurze Einführung soll Ihnen helfen, eine Datenbankanbindung mit Microsoft Access zu realisieren. Das Beispiel ist bewußt einfach gewählt, um Ihnen den Einstieg zu erleichtern.
Zunächst erstellen Sie auf Ihrem lokalen System eine einfache Access-Datenbank, die als Beispiel eine Tabelle "Produkte" mit den Feldern "ID", "Produktname", "Produktbeschreibung", "Preis" enthält. Nach Fertigstellung kopieren Sie die Access-Datenbank (z.B. "Produkte.mdb") per FTP auf den Server in Ihr Heimatverzeichnis oder einen darin enthaltenen Ordner.

Bitte beachten Sie: Standardmäßig hat das Internet-Gastkonto Leserechte auf die Access-Datei. Falls Datensätze von Skripten/Anwendungen auf dem Server geändert werden sollen, müssen Sie zusätzlich Schreibrechte für die Datei vergeben. Verwenden Sie hierzu das Tool Webfiles in Ihrem Control-Center.

Ein Zugriff per DSN (Data Source Name) auf Ihre Access Datenbank ist nicht möglich. Bitte verwenden Sie nur die in diesem Artikel beschriebene Methode.
Außerdem ist der Zugriff auf Access Datenbanken aus ASP.net herraus aufgrund des unmanaged Code (Ein nicht von der .net Runtime verwalteter Code) nicht möglich. Nutzen Sie hierzu den SQL-Server Import Assistenten in Ihrem Control-Center, um Ihren Datenbestand über den SQL-Server bereitzustellen.

Sind die gewünschten Rechte eingestellt, kann die Datenbank in Active Server Pages (ASP) eingebunden werden.

<html>
<title>Datenbank-Abfrage mit ASP</title>
<body bgcolor="FFFFFF">
<h2>Abfrage der Tabelle <b>Produkte</b> mit ASP</h2>
<%
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=e:\kunden\homepages\99\d1234567\Produkte.mdb;"
Set RS = oConn.Execute("SELECT * FROM PRODUKTE")
While Not (RS.EOF)
Response.Write RS("Produktname") &amp; " - " &amp;
RS("Produktbeschreibung") &amp; " - " &amp;
FormatCurrency(RS("Preis")) &amp; "<BR>"
RS.MoveNext
WEnd
RS.Close
Set RS = Nothing
oConn.Close
Set oConn = Nothing
%>
</body>
</html>

Der ASP-Code beginnt immer mit

<%       

und endet mit

%> 

In ASP nutzen Sie das Objekt Variable oConn zur Datenbankanbindung (ADODB.Connection). Mit diesem Objekt öffnen und schließen Sie die Verbindung und fragen die Datenbank ab. Das Prinzip entspricht dabei einem Telefongespräch: Sie stellen eine Verbindung her, holen sich alle gewünschten Informationen und schließen die Verbindung wieder. Bitte achten Sie aus Sicherheits- und Performancegründen darauf, die Verbindung nicht länger als Nötig offen zu lassen.

Die Anweisung oConn.Open öffnet die Verbindung mit dem angegebenen Treiber (Jet.OLEDB.4.0). Zusätzlich wird der absolute Pfad zur Access Datei übergebenn. Den Pfad erhalten Sie z.B. mit dem Aufruf Server.MapPath:

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &amp; Server.MapPath(".") &amp; "\Produkte.mdb;"

Als nächstes stellen Sie über die geöffnete Verbindung die gewünschte SQL-Anfrage: SELECT * FROM PRODUKTE. Die Funktion oConn.Execute führt die Anfrage aus und stellt Ihnen das Ergebnis als Recordset (RS) zur Verfügung.

In einer While-Schleife können Sie die einzelnen Zeilen Ihres Recordsets auslesen. Wichtig dabei ist der Befehl RS.MoveNext, der zum nächsten Datensatz springt. Ohne diesen Befehl lesen Sie in einer Endlosschleife immer wieder die erste Zeile des Ergebnisses aus.

Zum Schluss schließen Sie alle verwendeten Verbindungen und löschen die entsprechenden Objekte, um Performance-Verluste und Fehler zu vermeiden:

RS.Close
Set RS = Nothing
oConn.Close
Set oConn = Nothing