I'm versuchen, Daten aus einer Excel-Datei auf eine Schaltfläche klicken Ereignis zu erhalten. Meine Verbindungszeichenfolge ist:
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, erhalte ich den folgenden Fehler:
Der 'Microsoft.ACE.OLEDB.12.0' Anbieter ist nicht auf dem lokalen Rechner registriert.
Ich habe keine Ahnung, wie ich das beheben kann. Mein Betriebssystem ist Windows 7.
Nun, Sie müssen es installieren. Sie're suchen:
Eine 64-Bit-Version der 'Microsoft Access Database Engine 2010 Redistributable', die es Ihnen ermöglicht, den 'Microsoft.ACE.OLEDB.12.0' Provider zu verwenden, ist hier verfügbar:
http://www.microsoft.com/en-us/download/details.aspx?id=13255
Wenn Sie den Download aus der akzeptierten Antwort verwenden, müssen Sie, wie von @backtestbroker.com erwähnt, für x86 bauen.
Ich habe diesen Fehler/Ausnahme in Visual Studio 2010, wenn ich meine Build im Dialogfeld Configuration Manager von "x86" zu "Any CPU" geändert. Dieser OLEDB-Datenbanktreiber funktioniert meines Wissens nur in x86 und ist nicht 64bit-kompatibel. Das Ändern der Build-Konfiguration zurück zu x86 löste das Problem für mich.