lunedì 23 marzo 2020

Il provider 'Microsoft.ACE.OLEDB.12.0' non è registrato nel computer locale. Access 2016

Quando si prova ad accedere al database Microsoft Access 2016, con un file di tipo "accdb" impostando nella connectionstring il seguente provider:
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Cartella\NomeDatabase.accdb"

Può genere il seguente messaggio di errore:
Il provider 'Microsoft.ACE.OLEDB.12.0' non è registrato nel computer locale.


Questo è dovuto perchè sul pc occorre installare "Microsoft Access Database Engine 2010 Redistributable" versione x86 anche se abbiamo un computer a   64bit e con Office 2016 a 64 bit.

Il file si può scaricare dal seguente sito https://www.microsoft.com/it-IT/download/details.aspx?id=13255 e dopo aver fatto click sul pulsante "Donwload" selezionare la versione "AccessDatabaseEngine.exe" a questo punto aprire Visual studio ed effettuare la connessione.

Testato su Windows 10 64 bit e Microsoft Office 2016 64bit

7 commenti:

Gian luca ha detto...

Non è vero se io ho office 64 bit e provo a installare la versione 32 bit mi si blocca

Emanuele ha detto...

Gianluca,
in che senso ti si blocca? Questo post è stato scritto su fatto realmente successo.
Fammi sapere di più e soprattutto se posso esserti di aiuto.
Emanuele

Anonimo ha detto...

Purtroppo la versione 32Bit non viene installata se ci sono pacchetti Microsoft 64Bit. Nel mio caso, Microsoft 365 su Win11Pro

Emanuele ha detto...

Gianluca anche se lo hai eseguito come amministratore?

Anonimo ha detto...

se può servire in questa pagina è disponibile un installer che consente di installare la versione 32bit anche se si ha office 64bit: https://blotek.it/errore-microsoft-ace-oledb-12-0-non-e-registrato-nel-computer-locale-risolto/

Anonimo ha detto...

Ciao a tutti.
Volevo rispondere a Gianluca, sebbene è di qualche mese fa e avrà sicuramente risolto!
Emanuele ha ragione, probabilmente Gianluca aveva selezionato Microsoft access engine 2016 32bit, che se si prova ad installare in w11 non lo permette in nessun modo, nemmeno con administrator o con passive in prompt; la soluzione è seguire il link del Blog di Emanuele e scaricare il 2010 engine 32bit, non so per quale motivo ma questo lo installa e risolve il problema con importare i file da excel e il blocco OLEDB.12
L'ho testato con SSMS 2022 64bit (che però richiede Microsoft Access Engine 32 bit per importare i dati da file excel).

Spero di essere utile ai prossimi che cercheranno informazioni per questo problema!

Emanuele ha detto...

Grazie per questa spiegazione, che sono certo sarà di grande utilità alle persone.
Ottima informazione.
Grazie