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

JMeter JDBC插入请求报错:无效数据类型问题求助

JMeter JDBC插入请求数据类型无效问题解决方法

问题场景

SZ_1E_MYSQL1表插入报错

初始SQL语句:

INSERT INTO SZ_1E_MYSQL1 (TS_15M,MSISDN,IMEI,IMSI, MCC, MNC, LAC, CELL) VALUES (?, ?, ?, ?, ?, ?, ?, ?); 

参数值配置:

${TS_15M},${MSISDN},${IMEI},${IMSI},${MCC},${MNC},${LAC},${CELL}

参数类型配置:

varchar,bigint,bigint,bigint,int,int,int,bigint

对应表结构:

mysql> desc SZ_1E_MYSQL1;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| TS_15M | varchar(17) | YES  |     | NULL    |       |
| MSISDN | bigint      | YES  |     | NULL    |       |
| IMEI   | bigint      | YES  |     | NULL    |       |
| IMSI   | bigint      | YES  |     | NULL    |       |
| MCC    | int         | YES  |     | NULL    |       |
| MNC    | int         | YES  |     | NULL    |       |
| LAC    | int         | YES  |     | NULL    |       |
| CELL   | bigint      | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
8 rows in set (0.00 sec)

报错情况:

  • 初始配置报错:Invalid data type: int
  • 修改参数类型为INTEGER后,新报错:Invalid data type: VARCHAR(17)

SZ_1E_MYSQL4表插入配置

请求体:

[Prepared Update Statement]
INSERT INTO SZ_1E_MYSQL4 (TS_15M,MSISDN,MCC,MNC,LAC,CELL,HOST,URI,L7REQ,L7REP,LATITUDE,LONGITUDE,CILENTBYTE,SERVERBYTE,CLIENTFIRSTSEC,SERVERFIRSTSEC ,CLIENTLASTSEC,SERVERLASTSEC,CLIENTIPTO,SERVERIPTO,CLIENTIP,SERVERIP) 
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);

参数值示例:

2021/1/29 ,14171138121,460,26,96079244,84548213,DaEpVTEZRErrchtJZbKg ,uPTSXECeNNbiHCZXMNRPCMXNXoqaFtxjJqYtuRcvsOHazXZFMndqxWECTDRpBffOgJEBnGjOZTEGygRsVCjAZhSMYpPchvvYMYXWTsKkoKkfDYTeMjJSYaKRACrYtEofGZDVkxRCEDXEfUBehsmyDbXgbwwXHAMvmoZUosfbRavJEJSYqfPBVHOINqcPfEXxpUstCurU,ckDNXSPRRNGBbzEBJbTg,MnAXzPmEtROHAEpAUqbi,SvhCWBqZIsao ,fgLwLqMYhXUc,${CILENTBYTE },165230,976465,658595 ,311940,239175,KyyJeNNNXXzIsbjhmUdx,dqANPDDbsScnLCnISabp,vpOXhVroqWxhBdYfELYP,HkChRZNSERISRPuEFHbS

参数类型配置:

VARCHAR(17), BIGINT,INTEGER,INTEGER,INTEGER,BIGINT,VARCHAR(128),VARCHAR(10240),VARCHAR(1024),VARCHAR(1024),VARCHAR(16),VARCHAR(16),BIGINT,BIGINT,BIGINT, BIGINT,BIGINT,BIGINT, VARCHAR(128), VARCHAR(128),VARCHAR(128),VARCHAR(128)

解决方法

1. 用JDBC标准数据类型替代MySQL原生类型

JMeter的JDBC请求参数类型需要填写JDBC标准类型名称,而非MySQL的原生类型别名:

  • MySQL的int对应JDBC类型INTEGER
  • MySQL的varchar(n)对应JDBC类型VARCHAR(无需带长度)
  • MySQL的bigint对应JDBC类型BIGINT

2. 修正SZ_1E_MYSQL1的参数类型

修改为JDBC标准类型:

VARCHAR,BIGINT,BIGINT,BIGINT,INTEGER,INTEGER,INTEGER,BIGINT

3. 修正SZ_1E_MYSQL4的参数类型

去掉所有VARCHAR后的长度,统一使用JDBC标准类型:

VARCHAR,BIGINT,INTEGER,INTEGER,INTEGER,BIGINT,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,BIGINT,BIGINT,BIGINT,BIGINT,BIGINT,BIGINT,VARCHAR,VARCHAR,VARCHAR,VARCHAR

4. 额外检查项

  • 确保CSV文件中数据格式与JDBC类型匹配,比如数值列不能包含非数字字符
  • 核对JDBC请求的「Variable Names」配置与CSV文件列顺序完全一致
  • 确认JDBC驱动版本与MySQL服务器版本兼容,避免驱动不兼容导致的类型识别问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 20:36:38