it-swarm.com.de

Der Anbieter "Microsoft.ACE.OLEDB.12.0" ist auf dem lokalen Computer nicht registriert

Ich versuche, Daten aus einer Excel-Datei bei einem Tastenklick-Ereignis abzurufen. Meine Verbindungszeichenfolge lautet:

 string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\source\\SiteCore65\\Individual-Data.xls;Extended Properties=Excel 8.0;";

Wenn ich auf die Schaltfläche klicke, wird folgende Fehlermeldung angezeigt:

Der Anbieter "Microsoft.ACE.OLEDB.12.0" ist nicht auf dem lokalen Computer registriert.

Ich habe keine Ahnung, wie ich das beheben soll. Mein Betriebssystem ist Windows 7.

376
Shailesh Sahu

Nun, Sie müssen es installieren. Du schaust nach:

469
Variant

Eine 64-Bit-Version von "Microsoft Access Database Engine 2010 Redistributable", mit der Sie den Anbieter "Microsoft.ACE.OLEDB.12.0" verwenden können, finden Sie hier:
http://www.Microsoft.com/en-us/download/details.aspx?id=13255

Wenn Sie den Download von der akzeptierten Antwort verwenden, müssen Sie für x86 bauen, wie von @ backtestbroker.com ausgeführt.

139
rsbarro

je nach app (32/64bit) könnte man die verbindung einfach installieren

Zusammenfassung:

  • alle Büros von 2007-2016 enthalten den Anbieter "Microsoft.ACE.Oledb.12.0".
  • abhängig von Ihrer Anwendungsarchitektur wählen Sie die entsprechende Laufzeit-Engine (32/64)
  • überprüfe deine Provider mit dem Powershell-Befehl von der 32- und 64-Bit-Shell :

    (New-Object system.data.oledb.oledbenumerator).GetElements() | select SOURCES_NAME, SOURCES_DESCRIPTION 
    
  • und Sie werden sehen, welchen Anbieter Ihr System verwenden kann

die lange Geschichte: Die Zeichenfolgen finden Sie mit http://live.sysinternals.com/strings.exe

z.B. Auf einem 64-Bit-System mit 32-Bit-Treibern

strings.exe -u -n 10 "c:\Program Files (x86)\Common Files\Microsoft shared\OFFICE12\MSO.DLL" | findstr "ACE.O"
strings.exe -u -n 10 "c:\Program Files (x86)\Common Files\Microsoft shared\OFFICE14\MSO.DLL" | findstr "ACE.O"
strings.exe -u -n 10 "c:\Program Files (x86)\Common Files\Microsoft shared\OFFICE15\MSO.DLL" | findstr "ACE.O"

auch im kommenden Büro 2016

c:\Program Files\Microsoft Office\root\VFS\ProgramFilesCommonX64\Microsoft Shared\OFFICE16\MSO.DLL
c:\Program Files\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared\OFFICE16\MSO.DLL

sie werden die Saiten finden

  • Microsoft.ACE.OLEDB

  • Microsoft.ACE.Oledb.12.0

das Office 2013 kommt auch mit csi.dll

c:\Program Files (x86)\Common Files\Microsoft shared\OFFICE15\Csi.dll
c:\Program Files\Common Files\Microsoft Shared\OFFICE15\Csi.dll

welches das " Microsoft.ACE.OLEDB.15.0 " enthält

und Büro 2016

c:\Program Files\Microsoft Office\root\VFS\ProgramFilesCommonX64\Microsoft Shared\OFFICE16\Csi.dll
c:\Program Files\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared\OFFICE16\Csi.dll

welches die " Microsoft.ACE.OLEDB.16.0 " Version hat

62
Bernhard

Das erste, was Sie überprüfen müssen, ist Ihre Build-Konfiguration Ihrer Anwendung.

  • Wenn Sie Ihr Projekt unter x86-Plattform erstellt haben, sollten Sie zur Behebung des Problems die folgenden Pakete auf Ihrem Computer installieren:

    1. Um den Provider "Microsoft.ACE.OLEDB.12.0" zu verwenden, müssen Sie Microsoft Access Database Engine 2010 Redistributable installieren zuerst ist diese Installation unter folgender Adresse verfügbar: http: // www. Microsoft.com/download/en/details.aspx?id=13255 .

      Versuchen Sie nach Abschluss der Installation, Ihre Anwendung auszuführen. Wenn das Problem dadurch behoben wird, fahren Sie mit Schritt 2 fort.

    2. Bei diesem nächsten Schritt handelt es sich um eine ungeklärte Problemumgehung, die für Office 2010 funktioniert, obwohl es sich um die Datenverbindungskomponenten von Office 2007 handelt. Ich bin nicht ganz sicher, warum dies funktioniert, aber es funktioniert und es hat sich in fast allen Fällen bewährt. Sie müssen den 2007 Office System-Treiber installieren: Data Connectivity Components, diese Installation ist verfügbar unter: http://www.Microsoft.com/download/en/confirmation.aspx?id 23734) ==.

      Versuchen Sie nach Abschluss dieser Installation, Ihre Anwendung auszuführen. Dadurch sollte das Problem behoben sein.

  • Wenn Sie versuchen, eine Anwendung, die unter x64 oder einer AnyCPU-Plattform erstellt wurde auszuführen, würde ich empfehlen, zunächst zu überprüfen, ob sie unter der x86-Plattform wie erwartet ausgeführt wird. Führen Sie für den Fall, dass es nicht unter dieser x86-Plattform ausgeführt wird, die Schritte im ersten Teil aus und überprüfen Sie, ob es wie erwartet ausgeführt wird.

    Ich habe gelesen, dass die MS Access-Treiber einschließlich des OLEDB-Datenbanktreibers nur unter der x86-Plattform funktionieren und unter der x64- oder AnyCPU-Plattform nicht kompatibel sind. Aber das scheint nicht wahr zu sein. Ich habe überprüft, ob meine Anwendung beim Erstellen von x86 ausgeführt wurde, und dann das Access-Datenbankmodul mit dem passiven Flag installiert.

    1. Laden Sie zuerst die Datei lokal herunter. Sie können die Installation hier herunterladen: http://www.Microsoft.com/en-us/download/details.aspx?id=13255
    2. Installation mit dem Kommando Prompt mit dem Flag '/ passive'. Führen Sie in der Eingabeaufforderung den folgenden Befehl aus: 'AccessDatabaseEngine_x64.exe/passive'

    Nach diesen zwei Schritten konnte ich meine Anwendung ausführen, nachdem ich eine x64- oder AnyCPU-Build-Konfiguration erstellt hatte. Dies schien mein Problem zu lösen.

Hinweis: Die Reihenfolge der Schritte scheint einen Unterschied zu machen. Befolgen Sie die entsprechenden Anweisungen.

37
Merav Kochavi

Ich habe diesen Fehler/diese Ausnahme in Visual Studio 2010 erhalten, als ich meinen Build im Configuration Manager-Dialogfeld von "x86" in "Beliebige CPU" geändert habe. Dieser OLEDB-Datenbanktreiber funktioniert meines Wissens nur in x86 und ist nicht 64-Bit-kompatibel. Das Ändern der Build-Konfiguration auf x86 löste das Problem für mich.

31

Ich habe die MS-Treiber installiert und es hat bei mir immer noch nicht funktioniert. Dann fand ich diesen Blog-Beitrag , der das Problem löste. Lesen Sie es dort, oder verwenden Sie diese beiden Bilder (von diesem Beitrag verlinkt) als TLDR-Zusammenfassung:

enter image description here

enter image description here

24
Shaul Behr

Wenn Sie 64-Bit verwenden, aber auch nach der Installation von AccessDatabaseEngine noch Probleme haben, lesen Sie diesen Beitrag , dann hat sich das Problem für mich gelöst.

sie müssen this AccessDatabaseEngine installieren

16
Aximili

Für alle, die noch davon betroffen sind.

Ich habe den Fehler bekommen ...

OLEDB error "The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine."

... wie vom OP, Shailesh Sahu, beschrieben.

Ich habe 64bit Windows 7.

Mein Problem liegt innerhalb von PowerShell - Skripten, es wird jedoch eine Verbindungszeichenfolge verwendet, die dem Post des OP ähnelt. Hoffentlich können meine Ergebnisse auf C #, PowerShell und jede andere Sprache angewendet werden, die auf dem basiert Treiber "Microsoft.ACE.OLEDB".

Ich habe die Anweisungen in diesem MS-Forenthread befolgt: http://goo.gl/h73RmI

Ich habe zuerst versucht, die 64-Bit -Version und dann die 32-Bit -Version der AccessDatabaseEngine.exe von dieser Seite aus zu installieren http : //www.Microsoft.com/en-us/download/details.aspx? id = 13255

Aber immer noch keine Freude.

Ich habe dann den folgenden Code in PowerShell ausgeführt (von der SQL Panda-Website http://goo.gl/A3Hu96 )

(New-Object system.data.oledb.oledbenumerator).GetElements() | select SOURCES_NAME, SOURCES_DESCRIPTION 

... was mir dieses Ergebnis gebracht hat (ich habe der Kürze halber andere Datenquellen entfernt) ...

SOURCES_NAME              SOURCES_DESCRIPTION                                                                       
------------              -------------------                                                                       
Microsoft.ACE.OLEDB.15.0  Microsoft Office 15.0 Access Database Engine OLE DB Provider

Wie Sie sehen können, habe ich Microsoft.ACE.OLEDB. 15 . 0 (fünfzehn) nicht Microsoft.ACE.OLEDB. 12 . 0 (zwölf)

Also habe ich meine Verbindungszeichenfolge auf 15 geändert und es hat funktioniert.

Also ein kurzes PowerShell-Snippet, um zu demonstrieren, wie man die Version softcodiert ...

$AceVersion = ((New-Object System.Data.OleDb.OleDbEnumerator).GetElements() | Where-Object { $_.SOURCES_NAME -like "Microsoft.ACE.OLEDB*" } | Sort-Object SOURCES_NAME -Descending | Select-Object -First 1 SOURCES_NAME).SOURCES_NAME

$connString = "Provider=$AceVersion;Data Source=`"$filepath`";Extended Properties=`"Excel 12.0 Xml;HDR=NO`";"

geändert, um die neueste ACE-Version auszuwählen, falls mehr als eine

Hoffentlich kann jeder, der dies findet, jetzt überprüfen, welche OLEDB-Version installiert ist, und die entsprechende Versionsnummer verwenden.

15
TechSpud

Sie müssen die Lösungsplattform von "Beliebige CPU" auf "x86" oder "x64" ändern, je nachdem, wie langsam die Office-Installation ist.

Die Schritte sind unten angegeben:

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappendatei: enter image description here

    1. Klicken Sie auf den Konfigurationsmanager.
    2. Klicken Sie auf die Dropdown-Liste Active Platform (Aktive Plattform). Wenn x86 bereits vorhanden ist, wählen Sie dies aus, und klicken Sie auf New (Neu). enter image description here

    3. Wählen Sie x86 oder x64 aus der neuen Plattform-Dropdown-Liste aus: enter image description here

Kompilieren Sie Ihre Anwendung und führen Sie sie aus.

9
mohit busa

Wenn die installierte "AccessDatabaseEngine" immer noch nicht hilft, ist die folgende Lösung:

Sie müssen die Active Solution Platform von "Beliebige CPU" auf "x86" ändern.

OLEDB-Anbieter ist nicht auf dem lokalen Computer registriert

Von CodeProject.com

6
syp_dino

Obwohl viele Antworten gegeben wurden, wurde das Problem, auf das ich gestoßen bin, noch nicht erwähnt.

  • Mein Szenario: 64-Bit-Anwendung, Win10-64, Office 2007 32-Bit installiert.
  • Die Installation des 32-Bit-Installationsprogramms AccessDatabaseEngine.exe , das von MS heruntergeladen wurde, meldet den Erfolg, wird jedoch NICHT installiert, wie mit dem Powershell-Skript eines der Programme überprüft postings oben hier.

  • Bei der Installation des 64-Bit-Installationsprogramms AccessDatabaseEngine_X64.exe wurde eine schockierende Fehlermeldung ausgegeben:

enter image description here

Die sehr einfache Lösung wurde hier auf einer Autodesk-Site gefunden. Fügen Sie einfach den Parameter/passive in die Befehlszeile ein:

AccessDatabaseEngine_X64.exe/passive

Installation erfolgreich, der OleDb-Treiber funktionierte.

Die Excel-Dateien, die ich mit OleDb verarbeite, sind vom Typ XLSX, wurden mit EPPlus 4.5 erstellt und mit Excel 2007 geändert.

6
josh

Ich konnte dies beheben, indem ich die Schritte in diesem Artikel befolgte: http://www.mikesdotnetting.com/article/280/solved-the-Microsoft-ace-oledb-12-0-provider-is- nicht-registriert-auf-der-lokalen-Maschine

Der entscheidende Punkt für mich war:

Beim Debuggen mit IIS

standardmäßig verwendet Visual Studio die 32-Bit-Version. Sie können dies in Visual Studio ändern, indem Sie zu Extras "Optionen" Projekte und Lösungen "Webprojekte" Allgemein gehen und wählen

"Verwenden Sie die 64-Bit-Version von IIS Express für Websites und Projekte."

Nachdem ich diese Option aktiviert und dann das Plattformziel meines Projekts auf "Beliebige CPU" zurückgesetzt hatte (ich hatte es irgendwo im Fehlerbehebungsprozess auf x86 gesetzt), konnte ich den Fehler beheben.

5
Ken Johnson

Wenn Sie ein Webprojekt debuggen, vergewissern Sie sich, dass IIS Express in Abhängigkeit von Ihren Projekteinstellungen entweder in 32 oder 64 Bit ausgeführt wird.

Gehe zu

Extras> Optionen> Projekte und Lösungen> Webprojekte

und von dort aus aktivieren (oder deaktivieren) Sie das Kontrollkästchen "64-Bit-Version von IIS Express verwenden ...".

5
Albert Zakhia

Überprüfen Sie zunächst, welche Version von Microsoft.ace.oledb.12.0 auf Ihrem System installiert ist.

Überprüfen Sie in unter Pfad C:\Programme\Gemeinsame Dateien\Microsoft Shared\OFFICE14\ACEOLEDB.DLL - 64 Bit ist installiert

Überprüfen Sie, ob unter dem Pfad C:\Programme (x86)\Gemeinsame Dateien\Microsoft Shared\OFFICE14\ACEOLEDB.DLL - x86 das Bit installiert ist

Wenn (x86) installiert ist, ändern Sie mithilfe von Configuration Manager die Lösungsplattform auf x86, und ändern Sie x64 auf x64.

Wenn nicht verfügbar, installieren Sie es über den folgenden Link

https://www.Microsoft.com/en-us/download/details.aspx?id=23734

4
Shubham Tiwari

Ich hatte dieses Problem beim Versuch, Daten aus einer Excel-Datei (xlsx) mit SSMS 2014 in eine SQL Server-Datenbank zu importieren.

Die 2007 Office System-Treiber: Data Connectivity Components -Installation hat den Trick für mich gemacht.

3
Taran

syp_dino,

Die Lösung für mich, wie Sie es für den "Microsoft.ACE.OLEDB.12.0" -Anbieter vorgeschlagen haben, ist nicht auf dem lokalen Computer registriert Fehler: Ändern Sie die Active Solution Platform von "Any CPU" auf "x86" ".

Als ich diese Schritte durchführte, die Lösung neu erstellte, die EXE-Datei griff und ins Netzwerk stellte, funktionierte auf dem Windows 7 64-Bit-Computer alles reibungslos.

3
Sevron Ghee

Ich war mit dem gleichen Problem konfrontiert. Wechseln Sie zu den Lösungseigenschaften, und ändern Sie "Beliebige CPU" auf "x86". Ich denke, dies wird die Aufgabe erfüllen.

2
Md Shahriar

Laden Sie einfach die folgende Access DB-Engine (X86 oder X64: gemäß Ihrer Maschinenkonfiguration) herunter und installieren Sie sie.

https://www.Microsoft.com/en-us/download/confirmation.aspx?id=13255

2
Biki

Ich habe ein ähnliches Problem, wenn wir eine Excel-Datei lesen.

Geschichte des Problems:

Wir haben kürzlich unsere Anwendung aufgrund des Speicherbedarfs von 32-Bit auf 64-Bit migriert. Dafür haben wir unser Windows 7 von 32-Bit auf 64-Bit migriert. Trotzdem haben wir 32-Bit-Office auf unseren Rechnern installiert.

aus diesem Grund hatten wir dieses Problem beim Importieren von Excel-Daten in die Anwendung.

Lösung,

Ich habe die 64-Bit-Version von http://www.Microsoft.com/en-us/download/details.aspx?id=13255 heruntergeladen und mit folgendem Argument installiert:

AccessDatabaseEngine_x64.exe/passive

Ohne Codeänderung wird mein Problem behoben.

Hinweis:

Unter 64-Bit-Betriebssystemen und 64-Bit-Office funktionierte meine Funktionalität ohne dieses Update einwandfrei. Dieses Update ist nur erforderlich, wenn unsere Anwendung unter 64-Bit-Betriebssystemen ausgeführt wird, auf denen 32-Bit-Office installiert ist.

2
Rahul Techie

führen Sie die folgenden 2 Schritte aus: 1. In diesem Menü: Projekt -> Ihre Projekteigenschaften ... -> Erstellen: Deaktivieren Sie "32-Bit bevorzugen". Excel 12.0 Xml; HDR = JA '

                var fileName = string.Format("{0}", openFileDialog1.FileName);
            //var connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=Excel 8.0;", fileName);
            var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties='Excel 12.0 Xml;HDR=YES'", fileName);
            var adapter = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", connectionString);
            var ds = new DataSet();

            adapter.Fill(ds, TableNmae);

            DataTable data = ds.Tables[TableNmae];
            dg1.DataSource = data;
2
Sharif Lotfi

Ich habe die Anweisungen anderer befolgt. Installieren dieses Patches, Installieren dieses Patches sowie des Microsoft Access-Datenbankmoduls 2010.

Mein Problem war, dass ich dieselbe Bibliothek (linq2sql) an zwei Standorten auf meinem Computer verwende. 1 funktioniert und 1 nicht.

Schließlich stellte ich fest, dass ich 32-Bit-Anwendungen in den erweiterten Einstellungen des Apppools für meine nicht funktionierende Site aktivieren musste.

Alles funktioniert jetzt gut.

1
Ads

Das hat gerade bei mir funktioniert.

  1. Besuchen Sie diese Seite und laden Sie dann das entsprechende Paket für Ihren Computer herunter (AccessDatabaseEngine.exe oder AccessDatabaseEngine_X64.exe).
  2. Installieren Sie das.
  3. Viel Spaß ... Ihre Codes arbeiten jetzt ...

Für Ihr Anwendungspaket können Sie jedoch eine der folgenden Lösungen verwenden:

  1. Gehen Sie zu "C:\Programme (x86)\Gemeinsame Dateien\Microsoft Shared" oder "C:\Programme\Gemeinsame Dateien\Microsoft Shared" und legen Sie das Verzeichnis "OFFICE14" am selben Speicherort Ihrer Paketdatei ab.

Oder

  1. Fügen Sie zwei Projekte (in Element 1) in Ihr Installationspaket ein.

Denken Sie daran, AccessDatabaseEngine auf dem Server für die Webanwendung zu installieren.

1
sosha

Ich hatte Microsoft Access Database Engine 2010 Redistributable bereits auf meinem Computer installiert, erhielt aber weiterhin den Fehler Microsoft ACE OLEDB Provider.

Dann erinnerte ich mich, dass ich kürzlich ein Upgrade auf Office 2016 durchgeführt hatte. Vielleicht sollte ich versuchen, es erneut zu installieren Microsoft Access Database Engine 2010 Redistributable. Und das hat das Problem auf meiner Maschine behoben.

Wenn Sie also ein Upgrade auf eine andere Version von MS Office durchgeführt oder sogar MS Office repariert/neu installiert haben, installieren Sie Microsoft Access Database Engine 2010 Redistributable erneut, bevor Sie Zeit mit der Suche nach anderen Fixes verschwenden. Viel Glück!

1
Sagar

Wenn Sie diesen Fehler erhalten, wenn Sie versuchen, ACE von einer ASP.NET-Anwendung aus zu verwenden, liegt die wahrscheinlichste Ursache darin, dass Sie eine der 32-Bit-Versionen installiert haben. Standardmäßig führt IIS auf einem 64-Bit-Betriebssystem Anwendungen in einem 64-Bit-Arbeitsprozess aus. 64-Bit-Prozesse können keine 32-Bit-DLLs laden. Wenn ein Aufruf an den ACE-Anbieter erfolgt, versucht der 64-Bit-Prozess, eine 64-Bit-DLL zu finden. Wenn es nicht existiert, erhalten Sie die Fehlermeldung, die Sie hierher geführt hat.

In diesem Fall haben Sie zwei Möglichkeiten. Zunächst können Sie die 64-Bit-Version von 2010 installieren. Wenn Sie die 32-Bit-Version von 2007 installiert haben, können Sie einfach die 64-Bit-Version von 2010 daneben installieren. Wenn Sie die 32-Bit-Version von 2010 installiert haben, müssen Sie sie deinstallieren und stattdessen die 64-Bit-Version von 2010 herunterladen und installieren. Sie können nicht gleichzeitig die 32-Bit- und die 64-Bit-Version des 2010-Anbieters installieren. Wenn Sie die Installation auf Ihrem Entwicklungscomputer ausführen, werden Sie möglicherweise auch durch die Anzahl der vorhandenen Office-Installationen eingeschränkt.

Die zweite Möglichkeit besteht darin, den Anwendungspool in IIS zu ändern, um 32-Bit-Anwendungen zu aktivieren. Wenn Sie die Vollversion von IIS verwenden, können Sie dazu das Verwaltungstool verwenden (Systemsteuerung "Verwaltung" Internetinformationsdienste-Manager).

Zum besseren Verständnis siehe unten Link

1
Prince Antony G

1.) Überprüfen Sie Ihre Verbindungszeichenfolge mit ConnectionStrings.com .

2.) Stellen Sie sicher, dass Sie das richtige Datenbankmodul installiert haben. Dies waren die beiden Datenbank-Engines, die mir geholfen haben.

Microsoft Access Database Engine 2010 Redistributable

2007 Office System-Treiber: Datenverbindungskomponenten

3.) Möglicherweise liegt ein Problem mit der Build-Zielplattform "Beliebige CPU" vor. Möglicherweise muss es sich um "X86" (Eigenschaften, Build, Plattformziel) handeln.

1
u8it

kann auch diese Schritte versuchen

1.Öffnen Sie in SQL Server eine Datenbank 2.Clic in der Option 'Server Obtect' 3.Clic in 'Linked Servers' 4.Clic in 'Providers' 5.Clic Rigth in 'Microsoft.ACE.OLEDB.12.0' 6. Deaktivieren Sie alle Optionen und schließen Sie sie

1
Diego Castro

Ich hatte das gleiche Problem, aber in diesem Fall war der Microsoft-ace-oledb-12-0-Provider bereits auf meinem Computer installiert und funktionierte problemlos für andere Anwendungen entwickelt.

Der Unterschied zwischen dieser Anwendung und der, bei der ich das Problem hatte, bestand darin, dass die alten Anwendungen auf "Local IIS" ausgeführt wurden, während die fehlerhafte Anwendung auf "IIS Express (running) ausgeführt wurde aus Visual Studio "). Also, was ich getan habe war-

  1. Klicken Sie mit der rechten Maustaste auf Projektname.
  2. Gehen Sie zu Eigenschaften
  3. Gehen Sie auf der rechten Seite zur Registerkarte "Web".
  4. Wählen Sie unter Server Lokal IIS und klicken Sie auf die Schaltfläche Virtuelles Verzeichnis erstellen.
  5. Führen Sie die Anwendung erneut aus und es funktionierte.
1
NetStarter
  • Ich habe seit Tagen das gleiche Problem konfrontiert. Ich habe OLEDB-Treiber für 64-Bit installiert und 32-Bit-Treiber ausprobiert, die auch auf der Microsoft-Website verfügbar sind.
  • Ich habe versucht, Office 64-Bit-Version neu zu installieren, auch irgendwie hat es nicht funktioniert. Versucht, 32-Bit-Anwendung in IIS Pool true zuzulassen.
  • Versucht Ändern der Projektumgebung auf X86, AnyMachine, Gemischt. Und fast alle Patches ausprobiert, die ich im Internet finden konnte. Aber jede Lösung hat mich enttäuscht.
  • Obwohl ich endlich erfahren habe, dass der Anbieter, den wir heruntergeladen haben, der letzte war und auch nicht damit gearbeitet hat.
  • Ich habe es deinstalliert und oledb-Treiber 14.0.7015.1000 installiert. Ich habe keinen Link dafür, da ich ihn aus Unternehmensressourcen erhalten habe. Möglicherweise müssen Sie ihn googeln Aber es funktioniert. Ich bin auf dieses DOWNLOAD LINK von Microsoft gekommen und es hat auch funktioniert ... aber es ist Version 14.0.6119.5000 aber es hat funktioniert.
0
Maulik Modi

So habe ich es auf verschiedenen Computern gelöst:

Ich habe einen Windows 7 32-Bit-Computer mit Visual Studio 2012, auf dem die Access-Datenbank nicht vorhanden war, da ich nicht über Office 2010 verfüge. Ich habe dieselbe Quelle kopiert, die ich auf meinem Windows 7 64-Bit-Computer hatte.

Daher habe ich die AccessDatabaseEngine auf diesem Windows 7 32-Bit-Computer installiert, nachdem ich sie gemäß den obigen Vorschlägen von anderen hier heruntergeladen hatte, und alles hat einwandfrei funktioniert.

Ich hatte immer noch das Problem auf meinem Windows 7 64-Bit-Computer, auf dem bereits Office 2010 mit Access 2010 installiert ist. Auf diesem Computer löste ich das Problem, indem ich in PROJECT die Option Properties (Eigenschaften) auswählte und unter Platform target (Plattformziel) Any CPU I checked Prefer (Beliebige CPU, die ich bevorzugte) auswählte 32-Bit. Neu kompiliert/Build und der Microsoft.ACE.OLEDB.12.0-Anbieter ist nicht auf dem lokalen Computer registriert.

0
Humbert

Dies hängt von dem von Ihnen installierten Office ab. Wenn Sie über x64-Bit-Office verfügen, müssen Sie die Anwendung als x64-Anwendung kompilieren, damit sie ausgeführt werden kann. Wenn Sie also möchten, dass sie auf x36 ausgeführt wird, müssen Sie Office x86 installieren, um dies zu akzeptieren. Ich habe es versucht Alle oben genannten Lösungen, aber keine funktionierten, bis mir klar wurde, dass ich Office x64bit hatte, und so baute ich die Anwendung als x64 und arbeitete

0
user4237179

Ich habe diesen Fehler beim Importieren von Daten aus einer Excel-Datei in MS-SQL erhalten. Der Provider war bereits installiert (64-Bit) und das hat mich überrascht, warum es nicht funktioniert hat. Also habe ich nur die hier verwendete Import/Export-Anwendung gefunden, d. H. Die .EXE. Und ich fand es bei

C:\Programme\Microsoft SQL Server\130\DTS\Binn\DTSWizard.exe

Ich habe dann die .exe direkt ausgeführt, um den Datenimport durchzuführen. Und es hat funktioniert!

0
Chagbert