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


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


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!


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.


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.


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


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


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.


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.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.