Jmeter之JDBC请求1--创建

一、JDBC连接配置

1、配置类内容介绍:

1)、数据库驱动类和URL格式

=======================================================================================================================|
|   Datebase    |            Driver class                     |         Database URL                                   |
|===============|=============================================|========================================================|
|    MySQL      |         com.mysql.jdbc.Driver            | jdbc:mysql://host:port/{dbname}                        |
|===============|=============================================|========================================================|
|  PostgreSQL   |          org.postgresql.Driver              | jdbc:postgresql:{dbname}                               |
|===============|=============================================|========================================================|
|    Oracle     |     oracle.jdbc.driver.OracleDriver         | jdbc:oracle:thin:@host:port:{ddname}                   |
|===============|=============================================|========================================================|
| Ingres (2006) |     ingres.jdbc.IngresDriver                | jdbc:ingres://host:port/db[;attr=value]                |
|===============|=============================================|========================================================|
|    MSSQL      | com.microsoft.sqlserver.jdbc.SQLServerDriver| jdbc:sqlserver://IP:1433;databaseName=DBname           |
|               | 或者 net.sourceforge.jtds.jdbc.Driver        | 或者 jdbc:jtds:sqlserver://localhost:1433/"+"library"  |
|======================================================================================================================|


2)、下载数据库驱动,放置在jmeter目录下的lib目录中

==============================================================
|   Datebase    |        Driver jar包名                       |
|===============|=============================================|
|    MySQL      |    mysql-connector-java-5.1.6              |
|===============|=============================================|
|    Oracle     |         class12.jar                      |
|===============|=============================================|
|    MSSQL      |         sqljdbc4.jar                       |
|===============|=============================================|

注意:不同驱动类对应的jar包也不同

 

2、添加JDBC连接配置

3、JDBC连接池配置示例(mysql为例)

 

二、JDBC请求

1、内容介绍

1)SQL Query--Query Type
a)、Select Statement--选择语句—— 一次只能包含一条sql语句,并且结尾没有“;”
b)、Update Statement--更新语句—— 用于插入、更新、删除,一次只能包含一条sql语句,并且结尾没有“;”
c)、Callable Statement--调用语句—— 一次可包含多个sql,顺序执行,但非结尾的sql要加上“;”
d)、Prepared Select Statement--预选择语句—— 与Select Statement执行效果相同,但相对更安全,避免攻击;
e)、Prepared Update Statement--预更新语句—— 与Update Statement执行效果相同,但相对更安全,避免攻击;
注:当选择“Prepared Select Statement", "Prepared Update Statement" or "Callable Statement”类型时,每一个语句缓存是通过JDBC连接请求。
默认情况下,每个连接最多存储100 PreparedStatements,这会影响你的数据库(游标)。

 

2)SQL Query--其他参数

Query:填写的sql语句未尾不要加“;”
Parameter valus:参数值,顺序替代Query中的?;
Parameter types:参数类型
Variable names:保存sql语句返回结果的变量名 ,用于作为参数供调用
Result variable name:创建一个对象变量,保存所有返回的结果 ,供调用;
Query timeout:查询超时时间
Handle result set:定义如何处理由callable statements语句返回的结果。

2、添加JDBC请求

3、配置JDBC请求

 

4、请求结果查看

 1)添加查看结果树

 

2)查看响应结果

 

 三、常见问题

1、连接配置问题

1)、出现:java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@127.0.0.1:1521:ORCL错误解决
【解决方法】原来是因为没有加载包的缘故,关闭jmeter,然后将class12.jar复制到jmeter目录下面的lib目录中,重新启动运行即可。

2)、连接MySQL数据库时,出现:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown character set: 'utf8mb4'错误
【解决方法】看起来似乎是设置字符的问题,后来在JDBC连接配置那里将Database URL加上字符编码即可(?characterEncoding=UTF-8)
jdbc:mysql://127.0.0.1:3306/paydb?characterEncoding=UTF-8

 

3)、出现:org.apache.avalon.excalibur.datasource.NoAvailableConnectionException: Could not create enough Components to service your request (Timed out).
【解决方法】出现这个原因是因为连接超时,增大Pool TimeOUT就可以了。

 

2、请求执行问题

1)、sql语句中包含中文,执行结果无

【解决方法】字符编码问题,可在jdbc链接配置的database URL加上字符编码即可(可按照自己项目的数据库文件配置来,比如:?characterEncoding=GBK&amp)

 

posted @ 2020-03-28 10:28  老海绵  阅读(231)  评论(0编辑  收藏  举报