3.6 Jmeter JDBC Request执行含有中文的sql,数据库中显示乱码?

出现问题:Jmeter JDBC Request执行含有中文的sql,数据库中显示乱码?

3.6 Jmeter JDBC Request执行含有中文的sql,数据库中显示乱码?

排查原因:JDBC Connection Configuration的配置中Database URL:jdbc:mysql://10.1.1.248/mytest

解决方法:url添加?useUnicode=yes&characterEncoding=UTF-8

即:jdbc:mysql://10.1.1.248/mytest?useUnicode=yes&characterEncoding=UTF-8

3.6 Jmeter JDBC Request执行含有中文的sql,数据库中显示乱码?

执行结果,中文问题解决:

3.6 Jmeter JDBC Request执行含有中文的sql,数据库中显示乱码?

详细步骤:Jmeter Mysql测试之例子

1、加载mysql驱动

先把对应mysql版本的jar放入jmeter安装目录\lib中

2.Jmeter测试计划添加线程组

2.1、线程组下添加JDBC Connection Configuration

      线程组-->配置元件-->JDBC Connection Configuration

Variable Name: mysql
Database URL: jdbc:mysql://10.1.1.248/mytest?useUnicode=yes&characterEncoding=UTF-8
JDBC Driver class: com.mysql.jdbc.Driver
Username: root
Password: XXX

3.6 Jmeter JDBC Request执行含有中文的sql,数据库中显示乱码?

2.2、线程组下添加JDBC Request

线程组-->Sampler-->JDBC Request

Variable Name: mysql

SQL语句:

insert into USERS (ID ,NAME,EMAIL,AGE,SEX,ID_CARD ,MOBILE_PHONE ,VISA_CARD,OFFICER_CARD) values (3,'李健','[email protected]',11,'M','460025198109022432','13581698695','E1234556','军字第00111220号')
 

3.6 Jmeter JDBC Request执行含有中文的sql,数据库中显示乱码?

SQL ID随机数:
insert into USERS (ID ,NAME,EMAIL,AGE,SEX,ID_CARD ,MOBILE_PHONE ,VISA_CARD,OFFICER_CARD) values (${__Random(1,10 ,)},'李健','[email protected]',11,'M','460025198109022432','13581698695','E1234556','军字第00111220号')

执行结果:

3.6 Jmeter JDBC Request执行含有中文的sql,数据库中显示乱码?

系统生成的随机函数${__Random(1,10 ,)},生成的随机数有重复数,这里是1和6,所以只插入了8条数据。

3.6 Jmeter JDBC Request执行含有中文的sql,数据库中显示乱码?