'Microsoft.ACE.OLEDB.12.0' provider is niet geregistreerd op de lokale machine

Ik probeer gegevens uit een Excel bestand te krijgen op een knop klik gebeurtenis. Mijn verbindings string is:

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

Wanneer ik op de knop klik, krijg ik de volgende foutmelding:

De 'Microsoft.ACE.OLEDB.12.0' provider is niet geregistreerd op de lokale machine.

Ik heb geen idee hoe ik dit kan oplossen. Mijn besturingssysteem is Windows 7.

Oplossing

Nou, je moet het installeren. Je bent op zoek naar:

Commentaren (12)

Een 64-bit versie van de 'Microsoft Access Database Engine 2010 Redistributable' die u zal toestaan om de 'Microsoft.ACE.OLEDB.12.0' provider te gebruiken is hier beschikbaar:
http://www.microsoft.com/en-us/download/details.aspx?id=13255

Als u de download uit het geaccepteerde antwoord gebruikt, moet u bouwen voor x86, zoals aangegeven door @backtestbroker.com.

Commentaren (8)

Ik kreeg deze fout/uitzondering in Visual Studio 2010 toen ik mijn build in het Configuration Manager dialoogvenster veranderde van "x86" naar "Any CPU". Ik heb begrepen dat deze OLEDB database driver alleen werkt in x86 en niet 64bit compatibel is. Het veranderen van de build configuratie terug naar x86 loste het probleem voor mij op.

Commentaren (2)