症状
假设您创建了一个指向 Oracle 数据库12.2 或更高版本的外部数据源。 当您尝试在 SQL Server 2019 中针对该数据源创建外部表时,您可能会收到以下错误:
消息105082、级别16、状态1、行 LineNumber
105082;常规 ODBC 错误: [Microsoft] [ODBC Oracle 无线线路协议驱动程序] [Oracle] ORA-28040> <: ErrorMsg: [Microsoft] [ODBC Oracle 无线网络协议驱动程序] [Oracle] ORA-28040:没有匹配的身份验证协议,SqlState: HY000,NativeError:28040。
原因
出现此问题的原因是 SQL Server 2019 未使用最新的 ODBC 连接到 Oracle 的驱动程序版本 数据库,并且当前驱动程序没有配置新的安全机制。
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。
解决方案
此修补程序包含在 SQL Server 的以下累积更新中:
关于 SQL Server 的累积更新:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
解决方法
若要解决此问题,可以在 Oracle 服务器上编辑 sqlnet 文件以添加 以下
sqlnet.allowed_logon_version_server=8
参考
了解 Microsoft 用于描述软件更新的术语。
第三方信息免责声明本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。