Il provider "Microsoft.ACE.OLEDB.16.0" non è registrato sul computer locale. (System.Data)


103

Ottengo questo errore quando provo a connettermi a qualsiasi Excel tramite MSSQL Server Data Import, ovvero pacchetto SSIS Il Microsoft.ACE.OLEDB.16.0provider non è registrato sulla macchina locale. ( System.Data)

Non è la stessa versione, penso che siano necessarie altre patch


5
Non vedo perché questa domanda è stata votata per essere chiusa come duplicata ... È chiaramente una versione più recente nel messaggio di errore e necessita di un nuovo set di componenti! Questa domanda e le risposte mi hanno aiutato per i miei Microsoft.ACE.OLEDB.16.0problemi. La domanda indicata dalla richiesta di chiusura è per Microsoft.ACE.OLEDB.12.0e le risposte affrontano QUELLA versione. Questa domanda dovrebbe essere riaperta.
Arvo Bowen,

@ArvoBowen Nessun problema. L'ho riaperto. Ma entrambe le domande hanno la stessa soluzione.
Hadi

3
Come mai? Sono versioni differenti che richiedono download differenti. Sono correlati ma hanno soluzioni diverse. Se seguissi la risposta dell'altra domanda non risolverebbe il mio problema.
Arvo Bowen

Risposte:


116

Nota: sto eseguendo SQL 2016 Developer a 64 bit, Office 2016 a 64 bit.

Ho avuto lo stesso problema e l'ho risolto scaricando quanto segue:

  1. Scarica e installa questo: https://www.microsoft.com/en-us/download/details.aspx?id=54920

  2. Qualunque sia il file a cui stai tentando di accedere / importare, assicurati di selezionarlo come file di Office 2010 (anche se potrebbe essere un file di Office 2016).

Funziona.

fonte


4
Ha funzionato perfettamente per me, grazie! Ho caricato il mio file di Office 2016 come Office 2007-2010 e ha funzionato bene. Molto meglio che provare CSV / TSV.
tc_NYC

2
Grazie per aver detto che non avrei dovuto scegliere Office 2016. Non sono sicuro che avrei provato uno degli altri.
birdus

Il primo collegamento è interrotto
jcvegan

1
Ho appena aggiornato il collegamento all'URL corrente per Microsoft Access Database Engine 2016 Redistributable
e_i_pi

Su un WS 2016 64Bit ho dovuto usare la versione 32Bit per farlo funzionare ...
Lambda

98

Per chiunque sia ancora bloccato su questo problema dopo aver provato quanto sopra. Se fai clic con il pulsante destro del mouse sul database e vai su attività-> importazione, ecco il problema. Vai al menu di avvio e sotto sql server, trova la procedura guidata per l'importazione e l'esportazione di x64 bit e provalo. Ha funzionato come un incantesimo per me, ma mi ci è voluto MOLTO troppo tempo per trovarlo Microsoft!


3
Per avere Excel disponibile dalla versione a 64 bit di DTSWizard, installa il motore di database di Access 2016 ridistribuibile: microsoft.com/en-us/download/details.aspx?id=54920 Fonte: sqlblog.com/blogs/john_paul_cook/archive/ 11/06/2017 /… L' ho provato io stesso e funziona. Nota che SSDT è un'applicazione a 32 bit, quindi se avvii la procedura guidata di importazione / esportazione da essa, verrà avviata la versione a 32 bit della procedura guidata. Questo è ancora il caso anche a partire da Visual Studio 2017 e SQL Server 2017.
otravers

1
Grazie per la tua risposta, molto utile. Ho Office (2016) a 64 bit e SQL a 64 bit E il connettore corrispondente Microsoft.ACE.OLEDB.16.0. Tuttavia stavo ricevendo il messaggio "Il provider 'Microsoft.ACE.OLEDB.16.0' non è registrato sulla macchina locale." Questo semplicemente non aveva senso. Dopo aver aperto direttamente l'importazione guidata a 64 bit non ho avuto nessun problema ad importare file excel. La mia impressione è che per impostazione predefinita il percorso attività-> importazione vada alla procedura guidata a 32 bit e che incasini gli elementi a 64 bit, non ne sono sicuro. Grazie Paul.
Caffè

@otravers, ho scaricato e installato il motore di database di Access 2016 ridistribuibile, ma non è stato d'aiuto. Poi mi ha colpito, questo è per Access, non per Excel.
Rod

2
@ Rod, nonostante il nome, ti assicuro che questo risolve questo problema specifico con Excel e DTSWizard.
otravers

1
Non ho una versione x64 della procedura guidata di importazione / esportazione
PeterX

20

Come soluzione rapida, ho appena salvato la cartella di lavoro come file Excel 97-2003 .xls. Sono stato in grado di importare con quel formato senza errori.


Non ha funzionato per me. Ho ricevuto un "Errore imprevisto dal driver del database esterno (1). (Motore di database Microsoft JET)"
Rod

2
Ci sono voluti un paio di tentativi ma alla fine ho trovato questa la soluzione più rapida al mio problema.
ClubbieTim

1
Funziona solo se hai meno di 64.000 righe da importare.
Cougar9000 il

Fai attenzione che il tuo foglio di calcolo non abbia più di 65.536 righe, altrimenti potresti perdere i dati facendo questa conversione.
Fiach Reid

9

Un'alternativa che funziona per me è semplicemente convertire in un CSV.


2
Per grandi problemi, ottime soluzioni, grazie @PeterX
ElMatador

1
@PeterX ha salvato il mio giorno fratello
Mohammad Heydari

1
Ha funzionato come un fascino! Avevo solo bisogno di selezionare un file flat invece di MS Excel 2016 quando stavo caricando il CSV.
kiradotee

6

Se hai OS (64bit) e SSMS (64bit) e già installi AccessDatabaseEngine (64bit) e continui a ricevere un errore, prova le seguenti soluzioni:

1: apertura diretta della procedura guidata di importazione ed esportazione del server sql.

se sei in grado di connetterti utilizzando la procedura guidata di importazione ed esportazione diretta del server sql, l'importazione da SSMS è il problema, è come attivare 32 bit se importi dati da SSMS.

Invece di installare AccessDatabaseEngine (64bit) , prova a utilizzare AccessDatabaseEngine (32bit) , al momento dell'installazione, Windows ti fermerà per continuare l'installazione se hai già un'altra app installata, in tal caso, quindi utilizzare i seguenti passaggi. Questo è del MICROSOFT . L'installazione silenziosa.

Se Office 365 è già installato, il rilevamento affiancato impedirà il proseguimento dell'installazione. Eseguire invece un'installazione / quiet di questi componenti dalla riga di comando. Per fare ciò, scarica AccessDatabaseEngine.exe o AccessDatabaeEngine_x64.exe desiderato sul tuo PC, apri un prompt dei comandi amministrativo e fornisci il percorso di installazione e cambia Es: C: \ Files \ AccessDatabaseEngine.exe / quiet

o controlla il contenuto delle informazioni sull'aggiunta dal link sottostante ,

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


1
Wow, questo è stato frustrante. Risulta che il programma di installazione di SSMS 18.5 è a 64 bit, ma l'applicazione stessa è a 32 bit. Ho continuato a installare i componenti dell'ufficio AccessDatabaseEngine a 64 bit con lo stesso errore. Ho guardato il task manager, visto che SSMS è a 32 bit ... Quindi, ho usato il tuo metodo: C: \ Files \ AccessDatabaseEngine.exe / quiet perché ho installato Office 2016 a 64 bit. Questo ha funzionato !! Ha installato con successo il motore di database a 32 bit insieme all'ufficio a 64 bit.
rjkunde


1

Ora devi usare il nuovo XLSX -Driver di Access-Redist (32/64-Bit). Gli attuali driver XLS sono danneggiati dall'ultimo aggiornamento cumulativo.


0

Segui questi passi:

  1. Vai [qui] [1], scarica Microsoft Access Database Engine 2016 Redistributable e installa
  2. Chiudi SQL Server Management Studio
  3. Vai al menu Start -> Microsoft SQL Server 2017 -> SQL Server 2017 Importa ed esporta dati (64 bit)
  4. Apri l'applicazione e prova ad importare i dati utilizzando l'opzione "Excel 2016", dovrebbe funzionare bene.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.