Dostawca „Microsoft.ACE.OLEDB.16.0” nie jest zarejestrowany na komputerze lokalnym. (System.Data)

105

Otrzymuję ten błąd, gdy próbuję połączyć się z dowolnym programem Excel za pośrednictwem importu danych serwera MSSQL, tj. Pakietu SSIS. Microsoft.ACE.OLEDB.16.0Dostawca nie jest zarejestrowany na komputerze lokalnym. ( System.Data)

To nie jest ta sama wersja. Myślę, że potrzebne są inne poprawki

Suhail Abdul Rehman Chougule
źródło
6
Nie rozumiem, dlaczego głosowano, że to pytanie zostało zamknięte jako duplikat ... Jest to wyraźnie nowsza wersja w komunikacie o błędzie i wymaga nowszego zestawu komponentów! To pytanie i odpowiedzi pomogły mi w rozwiązaniu moich Microsoft.ACE.OLEDB.16.0problemów. Pytanie, na które wskazuje zamknięta prośba, dotyczy Microsoft.ACE.OLEDB.12.0tej wersji, a odpowiedzi dotyczą TEJ wersji. To pytanie powinno zostać otwarte ponownie.
Arvo Bowen
@ArvoBowen Żaden problem. Otworzyłem go ponownie. Ale oba pytania mają to samo rozwiązanie.
Hadi
3
Jak to? Są to różne wersje, które wymagają różnych plików do pobrania. Są powiązane, ale mają różne rozwiązania. Gdybym poszedł za odpowiedzią z drugiego pytania, nie rozwiązałoby to mojego problemu.
Arvo Bowen

Odpowiedzi:

116

Uwaga: używam 64-bitowego programu SQL 2016 Developer, 64-bitowego pakietu Office 2016.

Miałem ten sam problem i rozwiązałem go, pobierając:

  1. Pobierz i zainstaluj to: https://www.microsoft.com/en-us/download/details.aspx?id=54920

  2. Niezależnie od pliku, do którego próbujesz uzyskać dostęp / zaimportować, wybierz go jako plik pakietu Office 2010 (nawet jeśli może to być plik pakietu Office 2016).

To działa.

Źródło

FA911
źródło
4
Udało mi się idealnie, dzięki! Załadowałem plik Office 2016 jako Office 2007-2010 i działał dobrze. O wiele lepsze niż próbowanie CSV / TSV.
tc_NYC
2
Dziękuję za wspomnienie, że nie powinienem wybierać pakietu Office 2016. Nie jestem pewien, czy wypróbowałbym jeden z pozostałych.
birdus
Pierwszy link jest uszkodzony
jcvegan
1
Właśnie zaktualizowałem łącze do bieżącego adresu URL dla pakietu redystrybucyjnego
aparatu
Na WS 2016 64Bit musiałem użyć wersji 32-bitowej, aby działała ...
Lambda
99

Dla każdego, kto nadal tkwi w tym problemie po wypróbowaniu powyższego. Jeśli klikasz bazę danych prawym przyciskiem myszy i przechodzisz do zadań-> import, to tutaj jest problem. Przejdź do menu Start i pod serwerem sql, znajdź kreatora eksportu importu x64 bit i spróbuj tego. Zadziałało dla mnie jak urok, ale znalezienie go zajęło mi O wiele za długo, Microsoft!

Paul Dove
źródło
3
Aby program Excel był dostępny w 64-bitowej wersji DTSWizard, zainstaluj pakiet redystrybucyjny aparatu bazy danych Access 2016: microsoft.com/en-us/download/details.aspx?id=54920 Źródło: sqlblog.com/blogs/john_paul_cook/archive/ 2017/06/11 /… Sam to przetestowałem i to działa. Zwróć uwagę, że SSDT jest aplikacją 32-bitową, więc jeśli uruchomisz z niej kreatora importu / eksportu, zostanie uruchomiona 32-bitowa wersja kreatora. Dzieje się tak nadal, nawet od wersji Visual Studio 2017 i SQL Server 2017.
otravers
1
Dziękuję za odpowiedź, bardzo przydatna. Mam 64-bitowy pakiet Office (2016) i 64-bitowy SQL ORAZ odpowiedni łącznik Microsoft.ACE.OLEDB.16.0. Jednak otrzymywałem komunikat „Dostawca„ Microsoft.ACE.OLEDB.16.0 ”nie jest zarejestrowany na komputerze lokalnym”. To po prostu nie miało sensu. Po bezpośrednim otwarciu kreatora importu 64-bitowego nie miałem żadnego problemu z importowaniem plików Excela. Mam wrażenie, że domyślnie ścieżka do zadań-> importu przechodzi do kreatora 32-bitowego, co powoduje problemy z elementami 64-bitowymi, nie jestem pewien. Dzięki Paul.
Kawa
@otravers, pobrałem i zainstalowałem redystrybucję aparatu bazy danych Access 2016, ale to nie pomogło. Wtedy dotarło do mnie, że to Access, a nie Excel.
Rod
2
@Rod, pomimo nazwy, zapewniam, że rozwiązuje to ten konkretny problem z programami Excel i DTSWizard.
otravers
1
Nie mam wersji x64 kreatora importu / eksportu
PeterX
20

W ramach szybkiego obejścia właśnie zapisałem skoroszyt jako plik Excel 97-2003 .xls. Udało mi się zaimportować w tym formacie bez błędów.

Russ
źródło
Nie działa dla mnie. Pojawił się „Nieoczekiwany błąd ze sterownika zewnętrznej bazy danych (1). (Aparat bazy danych Microsoft JET)”
Rod
2
Zajęło to kilka prób, ale w końcu znalazłem najszybsze rozwiązanie mojego problemu.
ClubbieTim,
1
Działa to tylko wtedy, gdy masz mniej niż 64 KB wierszy do zaimportowania.
Cougar9000
Uważaj, aby arkusz kalkulacyjny nie zawierał więcej niż 65 536 wierszy, w przeciwnym razie możesz utracić dane podczas tej konwersji.
Fiach Reid
9

Alternatywą, która działa dla mnie, jest po prostu konwersja do pliku CSV.

PeterX
źródło
2
Za wielkie problemy, świetne rozwiązania, dziękuję @PeterX
ElMatador
1
@PeterX Saved my Day bracie
Mohammad Heydari
1
Działał jak urok! Po prostu musiałem wybrać płaski plik zamiast MS Excel 2016, kiedy ładowałem plik csv.
kiradotee
6

Jeśli masz system operacyjny (64- bitowy ) i SSMS (64- bitowy ) i już zainstalowałeś AccessDatabaseEngine (64-bitowy) i nadal otrzymujesz błąd, wypróbuj następujące rozwiązania:

1: bezpośrednie otwarcie kreatora importu i eksportu serwera sql.

jeśli możesz połączyć się za pomocą kreatora bezpośredniego importu i eksportu serwera sql, problem stanowi importowanie z SSMS, to jak aktywacja 32-bitowego, jeśli importujesz dane z SSMS.

Zamiast instalować AccessDatabaseEngine (64-bitowy) , spróbuj użyć AccessDatabaseEngine (32-bitowy) , po instalacji system Windows zatrzyma Cię w celu kontynuowania instalacji, jeśli masz już zainstalowaną inną aplikację, jeśli tak, wykonaj następujące kroki. To pochodzi z firmy MICROSOFT . Cicha instalacja.

Jeśli Office 365 jest już zainstalowany, wykrywanie obok siebie uniemożliwi kontynuację instalacji. Zamiast tego wykonaj cichą instalację tych składników z wiersza poleceń. Aby to zrobić, pobierz żądany plik AccessDatabaseEngine.exe lub AccessDatabaeEngine_x64.exe na swój komputer, otwórz administracyjny wiersz poleceń, podaj ścieżkę instalacji i przełącz Np .: C: \ Files \ AccessDatabaseEngine.exe / quiet

lub sprawdź zawartość Dodatkowych informacji z linku poniżej ,

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

jpcarts23
źródło
1
Wow, to było frustrujące. Okazuje się, że instalator SSMS 18.5 jest 64-bitowy, ale sama aplikacja jest 32-bitowa. Ciągle instalowałem komponenty biurowe 64-bitowego AccessDatabaseEngine z tym samym błędem. Spojrzałem na menedżera zadań, zobaczyłem, że SSMS jest 32-bitowy ... Następnie użyłem twojej metody: C: \ Files \ AccessDatabaseEngine.exe / cicho, ponieważ mam zainstalowany 64-bitowy pakiet Office 2016. To zadziałało !! Pomyślnie zainstalował 32-bitowy silnik bazy danych obok 64-bitowego pakietu Office.
rjkunde
5

ACE.oledb.16.0 nie działa w 64-bitowym systemie operacyjnym

pobierz poprawkę z https://www.microsoft.com/en-us/download/details.aspx?id=13255

arnav
źródło
8
Nie zadziałało. Próbowałem nadal otrzymywać ten sam błąd
Suhail Abdul Rehman Chougule
1
działa do importowania programu Microsoft Excel 2007-2010 w kreatorze importu i eksportu SQL Server
Junior Mayhé,
1

Musisz teraz użyć nowego sterownika XLSX -Driver firmy Access-Redist (32/64-bit). Bieżący sterownik XLS jest uszkodzony od czasu ostatniej aktualizacji zbiorczej.

bfuerchau
źródło
0

Wykonaj następujące kroki:

  1. Idź [tutaj] [1], pobierz Microsoft Access Database Engine 2016 Redistributablei zainstaluj
  2. Zamknij program SQL Server Management Studio
  3. Przejdź do menu Start -> Microsoft SQL Server 2017 -> SQL Server 2017 Import and Export Data (64-bit)
  4. Otwórz aplikację i spróbuj zaimportować dane za pomocą opcji „Excel 2016”, powinno działać poprawnie.
Francesco Mantovani
źródło