Problem: Classic ASP + IIS 7 + Microsoft Access Driver (*.mdb)


sehr verwirrender ArtikelNaja, ganz OKbrauchbar für Checker...guter Artikelsehr guter Artikel - Danke [3 Bewertung, Durchschnitt: 3,67]

Bei der Migration von klassischen ASP-Anwendungen (.asp) auf einen IIS 7 (zb 2008 R2) kann (bzw. wird) es zu Problemen kommen, falls via ASP auf eine alte Access-DB zugegriffen wird.

Der Code dafür könnte zb so aussehen:

<%
set conn=server.createobject(“adodb.connection”)
‘ DSNlose Verbindung zu einer MS Access Datenbank
DSNtemp=”DRIVER={Microsoft Access Driver (*.mdb)}; “
DSNtemp=dsntemp & “DBQ=” & server.mappath(“db1.mdb”)
conn.Open DSNtemp
%>

Obiger Code führt grundsätzlich zu KEINER Fehlermeldung, sondern zu einem allgemeinen Hinweis (“An Error occurred…”), dass etwas mit den Code nicht stimmt…

Um detaillierte Fehlermeldungen zu aktivieren, muss man für den jeweilgen Ordner, in dem sich die Website befindet, folgendes aktivieren:

1.) Ordner auswählen
2.) auf das Icon “ASP” doppelklicken (falls nicht vorhanden, muss dieses nachinstalliert werden)
3.)

detaillierteFehlermeldung
Nun bekommt man eine detaillierte Fehlermeldung, die wie folgt lautet:

Microsoft OLE DB Provider for ODBC Drivers error ’80004005′
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

Die Ursachen hierfür sind:
1.) per default hat der IUSR (anonyme Internetuser) KEINEN Zugriff auf die Datenbank
2.) die Datenbankverbindung wird über den 64-bit Treiber hergestellt – und funktioniert daher nicht mehr…

Lösung:
1.) im Windows Explorer auf die .mdb dem IUSR  Schreibrechte einräumen (besser noch für den gesamten Ordner, in dem die DB liegt, da beim Öffnen auch eine .ldb angelegt wird)

2.) im DefaultAppPool 32-bit-Anwendungen aktivieren

32bitAktivieren
Nicht vergessen: den IIS nach der Aktion einen Neustart gönnen…

Am Code muss danach nichts geändert werden!

 

 


This entry was posted in ClassicASP, IIS, VBScript. Bookmark the permalink.

One Response to Problem: Classic ASP + IIS 7 + Microsoft Access Driver (*.mdb)

  1. Anonymous says:

    Hallo,
    also der Tipp war doch mal GOLD wert
    Vielen Dank !

    Gruß
    Michael Montag

Hinterlasse eine Antwort