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

Apache Drill 1.19/1.3连接Oracle 9i查询时报ORA-01460错误求助

根因定位

ORA-01460报错的核心触发原因是JDBC驱动版本与Oracle 9i的兼容性不匹配。你当前使用的ojdbc8_g-21.3.0.0.jar是针对Oracle 12c及更高版本设计的驱动,没有兼容Oracle 9i的旧数据类型转换逻辑。show schemas命令可以正常执行是因为该操作仅调用基础元数据查询接口,不涉及业务数据的类型映射转换,执行实际数据查询时需要拉取业务数据做跨协议类型转换,就会触发该报错。

修复步骤
  • 替换JDBC驱动:卸载现有ojdbc8_g-21.3.0.0.jar,更换为Oracle官方兼容9i版本的ojdbc14.jar,优先选择10.2.0.x系列版本,该版本是Oracle官方最后一个完整适配Oracle 9i的JDBC驱动
  • 修改存储插件配置:打开Apache Drill的Oracle存储插件配置页,将driver字段值指定为oracle.jdbc.driver.OracleDriver,在JDBC连接URL末尾追加参数?defaultRowPrefetch=10&useFetchSizeWithLongColumn=true,关闭高版本驱动才支持的自动类型转换特性
  • 重启Drill实例后执行基础查询验证:先执行小数据量的单表查询测试,比如SELECT * FROM <Oracle schema名>.<表名> LIMIT 10,确认无报错后再执行复杂查询
  • 特殊类型适配:如果替换驱动后仍有报错,检查查询涉及的表是否包含CLOB、BLOB、NVARCHAR2等特殊类型字段,在存储插件的typeMapping配置项中添加对应映射规则,将Oracle 9i的特殊字段类型映射为Drill支持的VARCHAR、VARBINARY类型即可
验证标准
  • show schemas命令可以正常返回所有库信息
  • 普通业务查询、带过滤条件的查询可以正常返回结果
  • 聚合类查询(COUNT、SUM、GROUP BY等)运算结果符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 08:36:03