Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Nhà cung cấp OLE DB Microsoft.ACE.OLEDB.12.0 cho máy chủ được liên kết (null) trả về thông báo Dấu trang không hợp lệ.

Sau nhiều lần đấu tranh với vấn đề này, tôi đã tìm ra giải pháp sau:

  1. Trên máy chủ và hộp 64-bit, trước tiên bạn cần GỠ CÀI ĐẶT tất cả các phiên bản và ứng dụng Microsoft Office 32-bit (cài đặt Access 2007, Office 10 32-bit, v.v.). Nếu không, bạn không thể cài đặt các thành phần Microsoft Access Database Engine 2010 Redistributable 64-bit mới. Đúng vậy, thật là đau đầu nhưng tôi đã tìm ra cách duy nhất để lắp đặt các thiết bị thay thế mới cho các thành phần động cơ JET cần chạy trên máy 64 bit.
  2. Tải xuống và cài đặt thành phần mới từ Microsoft: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c06b8369-60dd-4b64-a44b-84b371ede16d&displaylang=vi
    • Thao tác này sẽ cài đặt quyền truy cập và các công cụ khác mà bạn cần để thiết lập máy chủ được liên kết, OPENROWSET tệp excel, v.v.
  3. Mở SQL Server và chạy như sau:

    sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE;
    GO
    sp_configure 'Ad Hoc Distributed Queries', 1;
    GO
    RECONFIGURE;
    GO
    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
    GO
    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
    GO
    
    • Điều này đặt các tham số cần thiết để truy cập và chạy các truy vấn liên quan đến các thành phần. Địa chỉ ‘null
  4. Bây giờ, nếu bạn đang chạy các cuộc gọi OPENROWSET, bạn cần phải hủy các cuộc gọi, được thực hiện bằng cách sử dụng các tham số JET cũ và sử dụng các cuộc gọi mới như sau:

    (*Example, importing an EXCEL file directly into SQL):
    DONT DO THIS….
    SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;HDR=YES;Database=c:\PATH_TO_YOUR_EXCEL_FILE.xls','select * from [sheet1$]')
    
    USE THIS INSTEAD…
    SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=c:\PATH_TO_YOUR_EXCEL_FILE.xls','select * from [sheet1$]')
    
    *At this point resolved two SQL issues and ran perfectly
    
  5. Bây giờ là phần thú vị… ..tìm kiếm tất cả các Đĩa Office của bạn và cài đặt lại Office và / hoặc các ứng dụng cần thiết trở lại máy. Bạn có thể cài đặt phiên bản 64 bit của Office 10 bằng cách vào đĩa và vào thư mục 64 bit và chạy nó nhưng hãy cẩn thận vì trong một số trường hợp, một số ứng dụng của bên thứ ba chưa giao diện với phiên bản Office đó.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để truyền dữ liệu từ / tới các trường BLOB của SQL Server?

  2. Cách tốt nhất để chia nhỏ dữ liệu XML thành các cột cơ sở dữ liệu SQL Server

  3. Xuất bảng (đối tượng và dữ liệu) dựa trên các tiêu chí đã chọn

  4. SQL Server ROWLOCK qua một giao dịch CHÈN CHỌN nếu không tồn tại

  5. Sự cố tham số đầu ra của SQL Server