Sto cercando di ottenere dati da un file Excel su un evento di clic del pulsante. La mia stringa di connessione è:
string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\source\\SiteCore65\\Individual-Data.xls;Extended Properties=Excel 8.0;";
Quando faccio clic sul pulsante, ho ottenuto il seguente errore:
'Il 'Microsoft.ACE.OLEDB.12.0' provider non è registrato sulla macchina locale.
Non ho idea di come risolvere questo problema. Il mio sistema operativo è Windows 7.
Beh, dovete installarlo. Stai cercando:
Una versione a 64 bit del 'Microsoft Access Database Engine 2010 Redistributable' che vi permetterà di utilizzare il fornitore 'Microsoft.ACE.OLEDB.12.0' è disponibile qui:
http://www.microsoft.com/en-us/download/details.aspx?id=13255
Se si utilizza il download dalla risposta accettata, sarà necessario costruire per x86, come indicato da @backtestbroker.com.
Ho ottenuto questo errore/eccezione in Visual Studio 2010 quando ho cambiato la mia build nella finestra di dialogo Configuration Manager da "x86" a "Any CPU". Questo driver di database OLEDB capisco che funziona solo in x86 e non è compatibile con 64bit. Cambiando la configurazione di compilazione di nuovo a x86 ho risolto il problema.