You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用OracleDataSource连接Oracle 19c时出现数组越界异常问题求助

问题根因

这个报错的核心原因是代码中强制指定了oracle.jdbc.thinLogonCapability参数值为o3,强制JDBC驱动使用老旧的O3登录认证协议,而Oracle 19c默认已经弃用并关闭了对O3协议的支持,旧协议和新数据库版本的认证逻辑不匹配触发了数组越界异常,和使用技术账号还是普通账号无关。

可行解决方案
  • 优先移除配置项:直接删除代码中jdbcProperties.setProperty("oracle.jdbc.thinLogonCapability", "o3");这一行即可,ojdbc8驱动默认会自动匹配Oracle 19c支持的安全认证协议,不需要手动指定旧协议参数。
  • 升级JDBC驱动版本:如果有特殊历史逻辑不能移除上述参数,先将当前使用的ojdbc8升级到19.3及以上的正式版本,旧版本ojdbc8对19c的兼容性存在已知bug,升级后可修复该数组越界问题。
  • 调整数据库认证配置(不推荐):如果必须保留O3协议配置,可联系DBA修改Oracle 19c数据库的sqlnet.ora配置,新增SQLNET.ALLOWED_LOGON_VERSION_SERVER=11,降级数据库允许的最低登录协议版本,该操作会降低数据库安全等级,非必要不建议使用。

内容的提问来源于stack exchange,提问作者Prakash Panchadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 10:54:03