venerdì 16 gennaio 2015

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

Nel caso che si sviluppano applicazioni .Net, in ambiente a 64 bit che si interfacciano con Office 2007 o versione successiva, bisogna installare il seguente componente http://www.microsoft.com/en-us/download/details.aspx?id=23734 mentre per la versione in n italiano qui  http://www.microsoft.com/it-it/download/details.aspx?id=23734 il compoenete che permette di  risolvere il problema.

9 commenti:

Anonimo ha detto...

Grazie per la dritta e per la precisione nell'indicare la possibile soluzione che ha funzionato!

Emanuele ha detto...

Mi fa molto piacere sapere che ti è servito, continua a seguire il blog, se vuoi registrati alla newsletter.

sunandsea ha detto...

Ciao Emanuele,
nel mio caso la tua soluzione non funziona.
Ti spiego la mia situazione:
Ho un vecchio progetto con database Access 2016 e lavoro su Visual Studio 2012.
Come stringa di connessione ho:

In questo modo l'errore è:
"Il provider 'Microsoft.ACE.OLEDB.12.0' non è registrato nel computer locale"
Prima avevo database Access 2000 sempre con Visual Studio 2012, stringa di connessione

e l'errore era
"Il provider 'Microsoft.ACE.OLEDB.4.0' non è registrato nel computer locale".

Non so più che fare.
Grazie per l'aiuto che mi potrai dare.

Emanuele ha detto...

Ciao Sunandsea,
hai installato il componente dai siti indicati? hai un pc a 32 o 64 bit? qual'è la stringa di connessione?
Fammi sapere.

sunandsea ha detto...

Ciao Emanuele,
sì ho installato il componente.
La stringa di connessione è (probabilmente vengono cancellati i tag)

add name="AccessDB" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|miodatabase.accdb;Persist Security Info=True" providerName="System.Data.OleDb"

Ho un pc a 64 bit.

Grazie

Emanuele ha detto...

Ciao Sunandsea,
prova a sostituire la parte Microsoft.ACE.Oledb12.00 con
Microsoft.ACE.OLEDB.15.0;
anziché 12.0 prova con 15.0

Fammi sapere.

sunandsea ha detto...

Ciao Emanuele,
facendo come dici tu, l'errore diventa:
"Il provider Microsoft.ACE.OLEDB.15.0 non è registrato nel computer locale."
Allora ho scaricato il Microsoft Access Database Engine 2010 (da https://www.microsoft.com/it-it/download/details.aspx?id=13255) ma, cercando di installarlo, nella versione x64 mi dice che non posso procedere in quanto ho installata la versione a 32bit dei prodotti Office.
Non so che fare...

Posso anche tornare alla versione del database con Access 2000, ma devo risolvere il problema del Microsoft.Jet.Oledb.4.0.

Grazie

Emanuele ha detto...

Ciao SunAndSea,
quando salvi il database Microsoft Access lo hai fatto selezionato versione 2010 o 2013? e poi utilizzi la connessione quella standard?

Fammi sapere.

sunandsea ha detto...

Il formato del file è Access 2007-2016, è un .accdb.
Non so cosa intendi per connessione standard.
Grazie e scusa