Nhà cung cấp 'Microsoft.ACE.OLEDB.16.0' chưa được đăng ký trên máy cục bộ. (Dữ liệu hệ thống)


103

Tôi gặp lỗi này khi cố gắng kết nối với bất kỳ excel nào thông qua MSSQL Server Data Import tức là gói SSIS Nhà Microsoft.ACE.OLEDB.16.0cung cấp không được đăng ký trên máy cục bộ. ( System.Data)

Nó không phải là cùng một phiên bản, tôi nghĩ rằng một số bản vá khác là cần thiết


5
Tôi không hiểu tại sao câu hỏi này lại bị bỏ phiếu là trùng lặp ... Nó rõ ràng là một phiên bản mới hơn trong thông báo lỗi và cần một bộ thành phần mới hơn! Câu hỏi và câu trả lời này đã giúp tôi giải Microsoft.ACE.OLEDB.16.0quyết các vấn đề của mình . Câu hỏi được chỉ ra bởi yêu cầu gần là cho Microsoft.ACE.OLEDB.12.0và câu trả lời đề cập đến phiên bản ĐÓ. Câu hỏi này nên được mở lại.
Arvo Bowen

@ArvoBowen Không thành vấn đề. Tôi đã mở lại nó. Nhưng cả hai câu hỏi đều có cùng một giải pháp.
Hadi

3
Làm sao vậy? Chúng là các phiên bản khác nhau yêu cầu tải xuống khác nhau. Chúng có liên quan nhưng có các giải pháp khác nhau. Nếu tôi làm theo câu trả lời từ câu hỏi khác, nó sẽ không giải quyết được vấn đề của tôi.
Arvo Bowen

Câu trả lời:


116

Lưu ý: Tôi đang chạy SQL 2016 Developer 64bit, Office 2016 64bit.

Tôi đã gặp vấn đề tương tự và đã giải quyết nó bằng cách tải xuống phần sau:

  1. Tải xuống và cài đặt cái này: https://www.microsoft.com/en-us/download/details.aspx?id=54920

  2. Bất kỳ tệp nào bạn đang cố gắng truy cập / nhập, hãy đảm bảo rằng bạn chọn tệp đó làm tệp Office 2010 (mặc dù nó có thể là tệp Office 2016).

Nó hoạt động.

Nguồn


4
Làm việc hoàn hảo cho tôi, cảm ơn! Đã tải tệp office 2016 của tôi dưới dạng office 2007-2010 và nó hoạt động tốt. Vì vậy, tốt hơn nhiều so với việc thử CSV / TSV.
tc_NYC

2
Cảm ơn bạn đã đề cập rằng tôi không nên chọn Office 2016. Không chắc tôi đã thử một trong những cái khác.
birdus

Liên kết đầu tiên bị hỏng
jcvegan 14/02/19

1
Tôi vừa cập nhật liên kết đến URL hiện tại cho Microsoft Access Database Engine 2016 Redistributable
e_i_pi 14/02/19

Trên WS 2016 64Bit, tôi phải sử dụng phiên bản 32Bit để nó hoạt động ...
Lambda

98

Đối với bất kỳ ai vẫn còn mắc kẹt về vấn đề này sau khi thử các cách trên. Nếu bạn đang nhấp chuột phải vào cơ sở dữ liệu và chuyển đến task-> import, thì đây là vấn đề. Đi tới trình đơn bắt đầu của bạn và trong máy chủ sql, tìm trình hướng dẫn xuất nhập x64 bit và thử điều đó. Làm việc như một cái duyên đối với tôi, nhưng tôi đã FAR quá lâu để tìm thấy nó là Microsoft!


3
Để có Excel từ phiên bản DTSWizard 64 bit, hãy cài đặt Redistributable Access Database Engine 2016: microsoft.com/en-us/download/details.aspx?id=54920 Nguồn: sqlblog.com/blogs/john_paul_cook/archive/ 2017/06/11 /… Tôi đã tự thử nghiệm điều này và nó hoạt động. Lưu ý rằng SSDT là một ứng dụng 32 bit, vì vậy nếu bạn khởi chạy trình hướng dẫn nhập / xuất từ ​​nó, thì đó là phiên bản 32 bit của trình hướng dẫn sẽ khởi chạy. Đây vẫn là trường hợp ngay cả với Visual Studio 2017 và SQL Server 2017.
vượt qua

1
Cảm ơn câu trả lời của bạn, rất hữu ích. Tôi có Office (2016) 64 bit và SQL 64 bit VÀ trình kết nối tương ứng Microsoft.ACE.OLEDB.16.0. Tuy nhiên, tôi nhận được thông báo "Nhà cung cấp 'Microsoft.ACE.OLEDB.16.0' chưa được đăng ký trên máy cục bộ." Điều này chỉ đơn giản là không có ý nghĩa. Sau khi mở trực tiếp trình hướng dẫn Nhập 64-bit, tôi không gặp vấn đề gì khi nhập tệp excel. Ấn tượng của tôi là theo mặc định, đường dẫn nhập task-> chuyển đến trình hướng dẫn 32 bit và điều đó làm rối tung các mục 64 bit, không chắc chắn. Cảm ơn Paul.
Cà phê

@otravers, tôi đã tải xuống và cài đặt Công cụ cơ sở dữ liệu Access 2016 có thể phân phối lại, nhưng không giúp được gì. Sau đó, nó đánh tôi, đó là Access, không phải Excel.
Rod

2
@Rod, mặc dù tên, tôi đảm bảo với bạn rằng điều này giải quyết được vấn đề cụ thể này với Excel và DTSWizard.
chuyển qua

1
Tôi không có phiên bản x64 của trình hướng dẫn Nhập / Xuất
PeterX

19

Để giải quyết nhanh chóng, tôi vừa lưu sổ làm việc dưới dạng tệp Excel 97-2003 .xls. Tôi có thể nhập với định dạng đó mà không có lỗi.


Không làm việc cho tôi. Có một "Lỗi không mong đợi từ người lái xe cơ sở dữ liệu bên ngoài (1) (Microsoft Database JET Engine)."
Rod

2
Phải mất một vài lần thử nhưng cuối cùng tôi thấy đây là giải pháp nhanh nhất cho vấn đề của mình.
ClubbieTim

1
Điều này chỉ hoạt động nếu bạn có ít hơn 64K hàng để nhập.
Cougar9000

Hãy cẩn thận rằng bảng tính của bạn không có nhiều hơn 65.536 hàng, nếu không, bạn có thể mất dữ liệu khi thực hiện chuyển đổi này.
Fiach Reid

9

Một giải pháp thay thế phù hợp với tôi là chỉ cần chuyển đổi sang CSV.


2
Đến những vấn đề lớn, giải pháp tuyệt vời, cảm ơn bạn @PeterX
ElMatador

1
@PeterX Đã lưu người anh em trong Ngày của tôi
Mohammad Heydari,

1
Làm việc như người ở! Tôi chỉ cần chọn tệp phẳng thay vì ms excel 2016 khi tải lên csv.
kiradotee

6

Nếu bạn có OS (64bit) và SSMS (64bit) và đã cài đặt AccessDatabaseEngine (64bit) và bạn vẫn gặp lỗi, hãy thử các giải pháp sau:

1: mở trực tiếp trình hướng dẫn nhập và xuất máy chủ sql.

nếu bạn có thể kết nối bằng thuật sĩ nhập và xuất trực tiếp máy chủ sql, thì vấn đề là nhập từ SSMS, giống như kích hoạt 32bit nếu bạn nhập dữ liệu từ SSMS.

Thay vì cài đặt AccessDatabaseEngine (64bit) , hãy thử sử dụng AccessDatabaseEngine (32bit) , khi cài đặt, cửa sổ sẽ ngăn bạn tiếp tục cài đặt nếu bạn đã cài đặt ứng dụng khác, nếu có, hãy làm theo các bước sau. Đây là từ MICROSOFT . Cài đặt yên tĩnh.

Nếu Office 365 đã được cài đặt, tính năng phát hiện song song sẽ ngăn quá trình cài đặt tiếp tục. Thay vào đó, hãy thực hiện cài đặt / cài đặt yên tĩnh các thành phần này từ dòng lệnh. Để làm như vậy, hãy tải xuống AccessDatabaseEngine.exe hoặc AccessDatabaeEngine_x64.exe mong muốn cho PC của bạn, mở dấu nhắc lệnh quản trị, cung cấp đường dẫn cài đặt và chuyển đổi Ví dụ: C: \ Files \ AccessDatabaseEngine.exe / yên tĩnh

hoặc kiểm tra nội dung Thông tin bổ sung từ liên kết bên dưới ,

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


1
Wow đây là một điều khó chịu. Hóa ra trình cài đặt SSMS 18.5 là 64 bit, nhưng bản thân ứng dụng là 32 bit. Tôi tiếp tục cài đặt các thành phần văn phòng AccessDatabaseEngine 64bit với cùng một lỗi. Nhìn vào trình quản lý tác vụ, thấy SSMS là 32 bit ... Sau đó, tôi sử dụng phương pháp của bạn: C: \ Files \ AccessDatabaseEngine.exe / yên tĩnh vì tôi đã cài đặt Office 2016 64 bit. Điều này đã làm việc !! Nó đã cài đặt thành công công cụ cơ sở dữ liệu 32 bit cùng với văn phòng 64 bit.
rjkunde


1

Bạn phải sử dụng ngay XLSX -Driver mới từ Access-Redist (32/64-Bit). Trình điều khiển XLS hiện tại bị hỏng kể từ lần cập nhật tích lũy cuối cùng.


0

Làm theo các bước sau:

  1. Truy cập [đây] [1], tải xuống Microsoft Access Database Engine 2016 Redistributable và cài đặt
  2. Đóng SQL Server Management Studio
  3. Đi tới Start Menu -> Microsoft SQL Server 2017 -> SQL Server 2017 Import and Export Data (64-bit)
  4. Mở ứng dụng và thử nhập dữ liệu bằng tùy chọn "Excel 2016", nó sẽ hoạt động tốt.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.