Provider "Microsoft ACE.OLEDB 12.0

di il
14 risposte

Provider "Microsoft ACE.OLEDB 12.0

Ho da poco installato Visual Studio 2020 ed ho  iniziato a creare qualcosina.

Vorrei interfacciare una database Access ed ho proceduto in questo modo :

 premetto che in fase di installazione ho selezionato “Elaborazione ed archiviazione dati”

ho  creato un  nuovo progetto selezionando “App Windows Form (.net Framework)”

  • Aggiungi nuova Origine Dati
  • Database
  • Dataset
  • Nuova Connessione
  • File di database Microsoft Access
  • Seleziono il database access
  • Test Connessione

   Non avendo installato Access solleva il seguente errore come posso rimediare senza dover installare Access ?

  Grazie

14 Risposte

  • Re: Provider "Microsoft ACE.OLEDB 12.0

    20/08/2024 - pierovb ha scritto:

       Non avendo installato Access solleva il seguente errore come posso rimediare senza dover installare Access ?

    Installando quello di cui segnala la mancanza: il provider Microsoft ACE OLEDB 12.0, che non è Access.

    Adesso c'è la versione 2016 (16.0). Se non va al primo colpo, con qualche accorgimento sistemi. Occhio ai 32/64 bit che fanno diventar matti

    https://www.microsoft.com/it-it/download/details.aspx?id=54920

    Leggi bene tutta la pagina.

  • Re: Provider "Microsoft ACE.OLEDB 12.0

    Avevo già scaricato ed installato  accessdatabaseengine_X64, però, stranamente non mi ha fatto installare X64  ma x32.

    Una volta installato però non funzionava. 

    Quindi ho disinstallato  tutto, cancellato il vecchio download, scaricato nuovamente il x64 e installato come amministratore

    riavviato e tutto è andato a posto.

    Ancora grazie

  • Re: Provider "Microsoft ACE.OLEDB 12.0

    Mi sa che ho cantato vittoria troppo presto…

    creato il form con i controlli

    Appena avvio solleva l'eccezione

    Cosa fare ?

  • Re: Provider "Microsoft ACE.OLEDB 12.0

    20/08/2024 - pierovb ha scritto:

    Avevo già scaricato ed installato  accessdatabaseengine_X64, però, stranamente non mi ha fatto installare X64  ma x32.

    Una volta installato però non funzionava. 

    Quindi ho disinstallato  tutto, cancellato il vecchio download, scaricato nuovamente il x64 e installato come amministratore

    riavviato e tutto è andato a posto.

    Strano comportamento. Ricordi il tipo di errore che segnalava?

    Comunque, prova a guardare queste analisi fatta da Albert Kallal su Visual Studio, il bitness e ACE: 

    https://stackoverflow.com/questions/65080477/x64-and-ms-ace-oledb-12-0-provider.

    https://learn.microsoft.com/en-us/answers/questions/435036/the-microsoft-ace-oledb-12-0-provider-is-not-regis

    Edit del 21/08 = non ho considerato il fatto che la versione di Visual Studio indicata in OP è sbagliata, non esiste la 2020. I riferimenti a queste pagine sono fatti pensando al 2019, non so perché mi sono creato questa convinzione.

  • Re: Provider "Microsoft ACE.OLEDB 12.0

    Ho disinstallato la versione X64 e installato la X32

    fallisce il test di connessione Errore:

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

    disinstallato la versione X32 e installato la X64

    e solleva l' eccezione in fase di debug

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

    Praticamente non c'è via d'uscita…

  • Re: Provider "Microsoft ACE.OLEDB 12.0

    Come avrai letto nelle due pagine riportate è difficile non avere problemi in una fase dello sviluppo di un progetto, cioè un errore di quel tipo ma limitato ad un punto preciso del lavoro è quasi inevitabile. Bisogna usare tutti gli accorgimenti evidenziati per fare in modo che l'errore si verifichi solo nella fase in cui ci si aspetta che avvenga mentre tutto il resto deve andare liscio, alla perfezione.

    Purtroppo non riesco a ricreare un ambiente come il tuo, sprovvisto di Access, sul quale installare il solo Database Engine. Se sviluppi principalmente sui 64 bit hai valutato il pasaggio al Visual Studio 2022, nativo a 64bit?

    Di più non so dirti, purtroppo. Magari qualcuno che ci lavora seriamente e quotidianamente può darti qualche dritta più completa.

    Edit del 21/08 = non ho considerato il fatto che la versione di Visual Studio indicata in OP è sbagliata, non esiste la 2020. I riferimenti a queste pagine sono fatti pensando al 2019, non so perché mi sono creato questa convinzione.

  • Re: Provider "Microsoft ACE.OLEDB 12.0

    Hai fatto una ricerca al supporto microsoft?

    https://learn.microsoft.com/it-it/troubleshoot/power-platform/power-automate/desktop-flows/cannot-connect-access-database-engine-ole-db

    Sembra un problema comune… e risolvibile…

  • Re: Provider "Microsoft ACE.OLEDB 12.0

    21/08/2024 - sihsandrea ha scritto:

    Hai fatto una ricerca al supporto microsoft?

    https://learn.microsoft.com/it-it/troubleshoot/power-platform/power-automate/desktop-flows/cannot-connect-access-database-engine-ole-

    Che già nell'url si può vedere che si applica a Power Automate (che è a 64bit), non è specifico di Visual Studio, dove i progetti sono sviluppabili per architetture diverse, non solo a 64bit. Già detto che con VS2022, nativo a 64bit, con il database engine a 64 bit, lo sviluppo e creazione di applicazioni (o altro) a 64 bit è molto più tranquilla.

    sihsandrea ha scritto:

    Sembra un problema comune… e risolvibile…

    Comune: senza dubbio, basta guardare le due pagine che ho già indicato, che hanno rimandi a situazioni identiche.

    Risolvibile: dipende dalle esigenze di pierovb. Se è vincolato all'uso di VS2020 e deve sviluppare con entrambe le architetture (32 e 64 bit) le grane le avrà sempre, ignorabili solo se si verificano nel momento e nel modo con cui sono ben illustrate, anche da Albert Kallal che non è l'ultimo arrivato.

    Edit del 21/08 = non ho considerato il fatto che la versione di Visual Studio indicata in OP è sbagliata, non esiste la 2020. I riferimenti a queste pagine sono fatti pensando al 2019, non so perché mi sono creato questa convinzione.

  • Re: Provider "Microsoft ACE.OLEDB 12.0

    21/08/2024 - Philcattivocarattere ha scritto:


    Che già nell'url si può vedere che si applica a Power Automate (che è a 64bit), non è specifico di Visual Studio, dove i progetti sono sviluppabili per architetture diverse, non solo a 64bit. Già detto che con VS2022, nativo a 64bit, con il database engine a 64 bit, lo sviluppo e creazione di applicazioni (o altro) a 64 bit è molto più tranquilla.

    Capisco… ma sono problemi di convivenza di sistemi 32 e 64 bit. Usa odbc che spesso genera problemi nell'installazione del driver. Io l'ho avuto con paradox, mysql e altri. Risolto alla stessa maniera: tolti i drivers e installati prina a 64 bit poi a 32. Spesso capita che installando i drivers a 64 bit venga inibito l'uso a 32.

    È una delle strade per risolvere il problema. Leggendo nei vari forum (da li l'affermazione “problema noto”) ho notato che l'errore viene generato anche quando un codice è scritto male (puntando ai dati prima che sia settato il driver). Ma codici non ne vedo, pertanto…(!?) un passo da controllare è la coesistenza dei due driver.

    20/08/2024 - Philcattivocarattere ha scritto:


    Adesso c'è la versione 2016 (16.0). Se non va al primo colpo, con qualche accorgimento sistemi. Occhio ai 32/64 bit che fanno diventar matti

    È di questo che parlo. Io ci ho sbattuto la testa.

  • Re: Provider "Microsoft ACE.OLEDB 12.0

    20/08/2024 - pierovb ha scritto:

    Ho da poco installato Visual Studio 2020 ed ho  iniziato a creare qualcosina.

    Piano! forse non mi sono accorto che nella stanza c'è un elefante: Visual Studio 2020 non esiste! Immagino intendessi 2022 e non so perché ho sempre pensato che fosse il 2019, pur scrivendo VS2020 in alcune risposte. Mi fermo fino al momento in cui su questo punto non ci sarà ombra di dubbio. L'elefante prima di sostare nella stanza ha fatto disastri nella mia testa.

    L'ho precisato come edit in ogni mio intervento precedente, in modo che non si prenda tutto come oro colato (o vaneggiamento)

  • Re: Provider "Microsoft ACE.OLEDB 12.0

    Prova a leggere questo: https://learn.microsoft.com/it-it/visualstudio/data-tools/connect-to-data-in-an-access-database-windows-forms?view=vs-2022

  • Re: Provider "Microsoft ACE.OLEDB 12.0

    21/08/2024 - Philcattivocarattere ha scritto:


    Visual Studio 2020 non esiste!

    Si, scusami, è il vs2022.

    21/08/2024 - sihsandrea ha scritto:


    Prova a leggere questo:

    E' proprio la routine che ho seguito ( vista su un video tutorial)

    Per evitare tutti i problemi ho installato office 2016.

    Riavviato il Pc e… continua imperterrito ha dare sempre lo stesso errore.

    Per ora, in attesa di metabolizzare tutto il veleno accumulato, rimango con il mio vecchio, semplice e affidabile  Visual basic 6.0, tra vecchietti ci intendiamo bene.

    Un grazie di cuore a Philcattivocarattere  e sihsandrea

    Tra qualche giorno, riprenderò a studiare e cercare la soluzione.

    Spero di postare la soluzione…

  • Re: Provider "Microsoft ACE.OLEDB 12.0

    21/08/2024 - pierovb ha scritto:

    Si, scusami, è il vs2022.

    L'elefante se n'è andato, ora c'è più spazio per ragionare.

    21/08/2024 - pierovb ha scritto:

    Per evitare tutti i problemi ho installato office 2016.

    Riavviato il Pc e… continua imperterrito ha dare sempre lo stesso errore.

    Office 2016 a 32 bit?

    Office 2016 non risolve niente perché non “espone” al di fuori della suite il motore di database. Visual Studio non sentirà l'Access Database Engine (che non è il programma Access) presente con Office 2016. Microsoft l'ha chiamata “bubble” e l'ha rotta (non mi invento io i titoli ad effetto: https://techcommunity.microsoft.com/t5/access-blog/breaking-ace-out-of-the-bubble/bc-p/2606712/highlight/true) solo nel 2020. Potrebbe accadere che in un'installazione “sporca", con aggiungi e togli ripetuti, anche questa rottura della bolla non sia sufficiente e il più volte ripetuto Access Database Engine autonomo sia inevitabile. Strada tra l'altro da privilegiare se intendi distribuire i tuoi eseguibili su altri computer dove non hai la certezza che ci sia un ACE derivante dall'installazione di Office ed in quel caso non puoi certo chiedere che si installi la suite solo per avere il motore di database per il tuo eseguibile, quindi devi fare affidamento solo su Access Database Engine, 32 o 64 bit.

    Il suggerimento per arrivare in fondo al problema è di verificare tutto su una macchina virtuale con installazione pulita di Visual Studio 2022, quindi niente Office ma solo Access Database Engine. A quel punto puoi aggiustare il tiro con i 32 e i 64 bit, a seconda del bitness di compilazione, per vedere come si comporta. Chiarito quello potresti aggiungere Office 2016 per vedere se rovina la configurazione che ti è costata l'avvelenamento, non tanto per il gusto di farti del male quanto per vedere fino a che punto i due prodotti (VS2022 ed Office2016) possono coesistere.

    21/08/2024 - pierovb ha scritto:

    rimango con il mio vecchio, semplice e affidabile  Visual basic 6.0, tra vecchietti ci intendiamo bene.

    Giusto, perché comunque bisogna pur andare avanti, ecco perché la strada dalla macchina virtuale mi sembra la più opportuna: tieni il VB 6.0 che conosci a menadito e sempre pronto c'è un VS2022 pulito sul quale fare tutte le prove fino a collegarti con i file accdb senza avvelenarti troppo.

  • Re: Provider "Microsoft ACE.OLEDB 12.0

    21/08/2024 - Philcattivocarattere ha scritto:


    Giusto, perché comunque bisogna pur andare avanti, ecco perché la strada dalla macchina virtuale mi sembra la più opportuna: tieni il VB 6.0 che conosci a menadito e sempre pronto c'è un VS2022 pulito sul quale fare tutte le prove fino a collegarti con i file accdb senza avvelenarti troppo.

    Ho disinstallato vs2022 e installato la versione 2019 e ovviamente il tutto funziona!!!

    Preferisco per il momento non sforzare troppo i miei poveri e pochi neuroni.

    Una volta presa dimestichezza con questo, per me, nuovo linguaggio aggiornerò a versioni più attuali.

    Grazie.

Devi accedere o registrarti per scrivere nel forum
14 risposte