web-dev-qa-db-de.com

VBScript & Access MDB - 800A0E7A - "Provider kann nicht gefunden werden. Möglicherweise ist er nicht ordnungsgemäß installiert."

Ich habe ein Problem mit einem VBScript, das eine Verbindung zu einer Access-MDB-Datenbank herstellt. Meine Plattform ist Vista64, aber der Großteil der Ressourcen für ASP/IIS7 ist verfügbar.

Ich kann es einfach nicht dazu bringen, eine Verbindung herzustellen. Ich erhalte die folgende Fehlermeldung: 800A0E7A - "Provider kann nicht gefunden werden. Möglicherweise ist er nicht ordnungsgemäß installiert."

Mein Code lautet:

Set conn = CreateObject("ADODB.Connection")
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\database.MDB"
conn.Open strConnect

Bisher habe ich% WINDIR%\System32\odbcad32.exe ausgeführt, um zu versuchen, den Treiber im 32-Bit-Modus zu konfigurieren, aber er hat den Trick nicht gemacht. Anregungen wären sehr dankbar

Nur als Ergänzung versuche ich, dieses .vbs-Skript zum Laufen zu bringen, indem Sie doppelt klicken und es seine Sache erledigen lassen. Dieser Code ist nicht in ein anderes lang/script eingebettet.

12
Perma

skript mit SysWOW64 Version ausführen
C:\Windows\SysWOW64\wscript.exe oder cscript
anstelle der 64-Bit-Standardversion von C:\Windows\System32

15
Nick Giles

Unter Microsoft TechNet Konfigurieren von IIS zum Ausführen von 32-Bit-Anwendungen unter 64-Bit-Windows (IIS 6.0) :

So aktivieren Sie IIS, um 32-Bit-Anwendungen unter 64-Bit-Windows auszuführen:

  1. Öffnen Sie eine Eingabeaufforderung und navigieren Sie zum Verzeichnis% systemdrive%\Inetpub\AdminScripts.
  2. Geben Sie den folgenden Befehl ein:

    cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true"
    
  3. Drücken Sie Enter.

Alternativ über den Internetinformationsdienste-Manager (IIS):

  1. Zugriff auf Anwendungspools
  2. Klicken Sie mit der rechten Maustaste auf "ASP.NET v4.0 Classic".
  3. Wählen Sie "Standardwerte für Anwendungspool festlegen ..." aus.
  4. Ändern Sie unter Allgemein die Option "32-Bit-Anwendungen aktivieren" von "False" in "True".
  5. OK klicken

Wenn Sie sowohl 32-Bit- als auch 64-Bit-Anwendungen ausführen möchten, gibt es verschiedene Blogs, beispielsweise Rakki Muthukumar s blog IIS7 - 32-Bit- und 64-Bit-ASP. NET-Versionen gleichzeitig auf verschiedenen Arbeitsprozessen .

6
Stephen Quan

Benutz einfach

strConnect = " Provider = Microsoft.ACE.OLEDB.12.0 ; Datenquelle ="

wenn Sie alle benötigten Treiber haben

3
Manesh M

Alternativ über den Internetinformationsdienste-Manager (IIS):

Zugriff auf Anwendungspools Klicken Sie mit der rechten Maustaste auf "ASP.NET v4.0 Classic" . Wählen Sie "Anwendungspool-Standardeinstellungen festlegen ..." . Unter Allgemeine Änderung "32-Bit-Anwendungen aktivieren". von "False" bis "True" Klicken Sie auf OK

Wenn ich diese Einstellungen ändere, funktioniert es. Danke Jungs.. :)

3
Umut

Schau dir das an 

BEARBEITEN: Achtung, der Link unten führt direkt zum Download von 2007 Office System Driver: Data Connectivity Components.

http://www.Microsoft.com/download/de/confirmation.aspx?id=23734

Installierte es, lies die Anleitung und alles funktionierte wie ein Zauber. 

0
DimDqkov

Ich habe das verwendet, es funktionierte für mich ohne Fehler:

sconnect = "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & myPath & ";HDR=Yes';"
Set con = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

con.Open sconnect
sSQLQry = "SELECT * FROM [" & tableName & "];"
Set rs = con.Execute(sSQLQry)
0
harry