Triệu chứng
Giả sử bạn tạo nguồn dữ liệu ngoài cho cơ sở dữ liệu Oracle 12.2 hoặc phiên bản mới hơn. Khi bạn cố gắng tạo một bảng ngoài cho nguồn dữ liệu đó trong SQL Server 2019, bạn có thể gặp lỗi sau:
Thông báo 105082, Mức 16, Trạng thái 1, Số Dòng
105082; Lỗi ODBC chung: [Microsoft][Trình điều khiển Giao thức Dây ODBC Oracle][Oracle]ORA-28040: Không có giao thức xác thực khớp Lỗi <bổ sung 2>: ErrorMsg: [Microsoft][Trình điều khiển Giao thức Dây ODBC Oracle][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 phiên bản trình điều khiển ODBC mới nhất để kết nối với cơ sở dữ liệu Oracle và trình điều khiển hiện tại không được đặt cấu hình với cơ chế bảo mật mới.
Trạng thái
Microsoft đã xác nhận rằng đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong mục "á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 dành cho SQL Server:
Giới thiệu về các bản 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 dành cho SQL Server chứa tất cả các bản sửa lỗi nóng và bản sửa lỗi bảo mật được tích hợp trong bản cập nhật tích lũy trước đó. Xem các bản cập nhật tích lũy mới nhất cho SQL Server:
Giải pháp thay thế
Để tránh vấn đề này, bạn có thể sửa tệp sqlnet.ora trên máy chủ Oracle để thêm các nội dung sau:
sqlnet.allowed_logon_version_server=8
Tham khảo
Tìm hiểu về thuật ngữ mà Microsoft dùng để mô tả các bản cập nhật phần mềm.
Tuyên bố từ chối trách nhiệm thông tin của bên thứ baCác sản phẩm của bên thứ ba thảo luận trong bài viết này được sản xuất bởi những công ty độc lập với Microsoft. Microsoft không đưa ra sự đảm bảo, dù là ngụ ý hay theo một hình thức khác, về hiệu suất hoặc mức độ tin cậy của những sản phẩm này.