Triệu chứng
Giả định rằng bạn tạo một nguồn dữ liệu bên ngoài vào Oracle Database 12,2 hoặc các phiên bản mới hơn. Khi bạn tìm cách tạo một bảng bên ngoài đối với nguồn dữ liệu đó trong SQL Server 2019, bạn có thể gặp phải lỗi sau:
Msg 105082, mức 16, bang 1, hàm Linenumber
105082; Lỗi ODBC chung: [Microsoft] [bộ điều khiển giao thức ODBC Oracle wire] [Oracle] ORA-28040: không có lỗi gì giao thức xác thực kết hợp <2>: ErrorMsg: [Microsoft] [ODBC Oracle wire Protocol Driver] [Oracle] ORA-28040: không có giao thức xác thực khớp, SqlState: HY000, NativeError: 28040.
Nguyên nhân
Sự cố này xảy ra vì SQL Server 2019 không sử dụng ODBC mới nhất Phiên bản trình điều khiển để kết nối với Oracle cơ sở dữ liệu và trình điều khiển hiện tại không được cấu hình với cơ chế bảo mật mới.
Trạng thái
Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".
Giải pháp
Bản sửa lỗi này được bao gồm trong bản Cập Nhật tích lũy sau đây cho SQL Server:
Giới thiệu về Cập Nhật tích lũy cho SQL Server:
Mỗi bản Cập Nhật tích lũy mới cho SQL Server chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản Cập Nhật tích lũy trước đó. Kiểm tra các bản Cập Nhật tích lũy mới nhất cho SQL Server:
Cách giải quyết
Để giải quyết vấn đề này, bạn có thể sửa tệp sqlnet. ora trên máy chủ Oracle để thêm lệnh
sqlnet.allowed_logon_version_server=8
Tham khảo
Tìm hiểu về thuật ngữ mà Microsoft sử dụng để mô tả các bản cập nhật phần mềm.
Tuyên bố miễn trừ thông tin của bên thứ baCác sản phẩm của bên thứ ba mà bài viết này thảo luận được các công ty độc lập với Microsoft sản xuất. Microsoft không bảo hành, dù ngụ ý hay không, về hiệu suất hoạt động hoặc độ tin cậy của các sản phẩm này.