一、添加JDBC连接配置
添加:线程组->右键->配置元件->JDBC连接配置
- Variable Name(绑定到池的变量名称):该名称自定义,在JDBC Request会用到;这需要唯一地标识配置。JDBC Sampler使用它来标识要使用的配置。
- Database URL(数据库URL):jdbc:mysql:// 数据库IP地址:数据库端口/数据库名称(
- JDBC Driver Class(JDBC驱动程序类):com.mysql.jdbc.Driver
- Username(用户名):数据库连接的用户名
- Password(密码):数据库连接的密码
以下是各数据库Database URL、JDBC Driver class 填写方式
数据库名 | Database URL | Driver class |
MySQL | jdbc:mysql://host[:port]/dbname | com.mysql.jdbc.Driver |
PostgreSQL | jdbc:postgresql:{dbname} | org.postgresql.Driver |
Oracle | jdbc:oracle:thin:@//host:port/service OR jdbc:oracle:thin:@(description=(address=(host={mc-name})(protocol=tcp)(port={port-no}))(connect_data=(sid={sid}))) | oracle.jdbc.OracleDriver |
Ingress (2006) | jdbc:ingres://host:port/db[;attr=value] | ingres.jdbc.IngresDriver |
Microsoft SQL Server (MS JDBC driver) | jdbc:sqlserver://host:port;DatabaseName=dbname | com.microsoft.sqlserver.jdbc.SQLServerDriver |
Apache Derby | jdbc:derby://server[:port]/databaseName[;URLAttributes=value[;…]] | org.apache.derby.jdbc.ClientDriver |
二、添加JDBC请求
鼠标右键获得“ 添加”菜单,然后选择“ 添加” →“ 采样器” →“ JDBC请求”。
- Variable name:这里写入数据库连接池的名字(和JDBC Connection Configuration名字保持一致 )
- Query:里面填入查询数据库数据的SQL语句(填写的SQL语句末尾不要加“;”)
- parameter valus:数据的参数值
- parameter types:数据的参数类型
- cariable names:保存SQL语句返回结果的变量名
- result cariable name:创建一个对象变量,保存所有返回结果
- query timeout:查询超时时间
- handle result set:定义如何处理由callable statements语句返回的结果
脚本参数:使用Prepared Select Statement
variable names结果有多少列,就用多少列来接收
result variable names用一个变量来接收全部的返回结果。
10、编辑(${})
jmeter中的JDBC请求中的SQL语句是无法使用参数的,比如: SELECT * FROM ${table_name} 是无效的。
如果需实现同时多个不同用户使用不同的SQL,可以通过把整条SQL语句参数化来实现;(把SQL语句放在csv文件中,然后在JDBC Request的Query 中使用参数代替 ${SQL_Statement})。
三、将数据库查询结果保存到本地
添加->监听器->保存响应到文件
没有路径,默认保存咋bin目录下。
保存的文件可以是txt文件,不能是csv(因为csv的分隔符是,),导出的文件分隔符是\t.
有调试取样器的情况下,会把最后一次取样器执行结果写入文件;
多次执行会覆盖重写。
如果要使用数据,利用csv元件从文件中读取出来;
四、csv读取