Jmeter5.1.1连接oracle数据库的错误复盘

全部错误复盘,按出现顺序

1. 第一报错:ORA-12514 TNS:listener does not currently know of service

原因 JDBC URL 写了 test.LIANSHI,数据库监听里注册的服务名只是 test,带域名后缀的服务名监听器识别不到。

本质:服务名不匹配 ,不是 jar 包问题。能报 ORA 错误 = ojdbc8 已经加载成功。 ✅ 修复:URL 改为 jdbc:oracle:thin:@//10.1.1.96:1521/test

2. 第二报错:ORA-00923: FROM keyword not found where expected(核心坑)

原因 JDBC 连接池里【Validation Query 校验 SQL】写了 select 1。

  • MySQL 支持简写select 1;
  • Oracle 没有虚拟表不能单独 select 常量,必须写 SELECT 1 FROM DUAL 连接池初始化阶段,会自动执行这条校验 SQL,SQL 语法直接报错,连接池创建直接失败,还没执行你的 INSERT 语句。

关键点:这个报错不是你 Insert 语句的问题 ,是连接池自检 SQL 非法。 ✅ 修复:Validation Query 改成 SELECT 1 FROM DUAL

3. 额外潜在隐患(这次虽然没报错,但以后容易踩坑)

  1. JMeter JDBC 元件不能带 SQL 末尾分号 ; DBeaver 可以写;,但 JDBC 驱动执行时把分号当成额外语句,会报语法异常。
  2. Query 框多行换行 你截图里 Insert 是多行折行。Oracle JDBC 对换行敏感,复制粘贴容易带入不可见特殊字符,建议压测 SQL 保持单行。
  3. 连接池配置改动后必须重启 JMeter JMeter 的连接池配置只在启动时加载,改完不重启,旧配置仍然生效。

一句话总结

12514 = 连接串的 service 名称不对 00923 = 连接池校验 SQL 简写,Oracle 缺少 FROM DUAL

区分两个报错阶段:

  • Cannot create PoolableConnectionFactory:创建连接池阶段失败,还没跑你的业务 SQL
  • JDBC Request 里的响应报错:连接成功后,执行 INSERT 时才报的错

正确的如下:

相关推荐
这个DBA有点耶1 天前
信创场景下数据同步软件怎么选?对比开源CDC与原生闭环工具的结构性差异
数据库·mysql·架构
多客:duokelijie1 天前
代练订单系统选型思路:跨品类游戏接入、订单分层管理、自动结算逻辑拆解!
数据库·mysql·微信小程序·前端框架·uni-app·php·持续部署
PingCAP1 天前
平凯星辰上榜!2026 年胡润全球独角兽企业
数据库
PingCAP1 天前
轨道交通 AFC 系统升级,平凯 Loop 把跨部门协同变成可追溯闭环
数据库
java_logo1 天前
Docker 部署 CloudBeaver:轻松搭建网页数据库管理平台
数据库·docker·容器·数据库管理·dbeaver·轩辕镜像·cloudbeaver
李白客1 天前
AI 数据库落地 NL2SQL:准确率卡在四成,问题在表注释不在模型
数据库
FluxDB1 天前
FluxDB vs DBX vs DBeaver:GPUI、Tauri、Eclipse 三种技术栈实测
数据库·mysql
杨航 AI1 天前
JEV的用法
java·前端·数据库
数据库小学妹1 天前
MySQL分页结果不稳定:唯一键兜底与游标分页
数据库·mysql·dba