jmeter JDBC Configuration && JDBC Request
来源:互联网 发布:通达信短线决策源码 编辑:程序博客网 时间:2024/05/21 09:45
jmeter实际应用过程中,都免不了要连接数据库。主流数据库有oracle、sqlserver、mysql…由于我实际用到的数据库只有mysql 与 oracle 就只介绍这两种数据库的配置及运用。
数据库驱动
连接数据库,需要下载对应的数据库驱动jar包
建议都去从官网下载:
mysql jar包地址:http://dev.mysql.com/downloads/connector/j/
oracle jar包下载地址:
http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html
提示:mysql jdbc driver下载最新的就可以;但是oracle jdbc driver建议下载为对应数据库版本的驱动。下载oracle驱动包需要登录,如果没有建议建一个账号,两分钟就可以搞定。
分享一个我目前的驱动:
链接:http://pan.baidu.com/s/1ctDMpw 密码:twqn
加载驱动
mysql 的驱动包可以放在对应java安装目录下的jdk下的jre下的lib下的ext目录下。
Example:C:\Program Files\Java\jdk1.7.0_79\jre\lib\ext
oracle 的驱动包需要放在对应的jmter安装目录下的lib目录下。
Example:D:\apache-jmeter-3.0\lib
配置数据库连接
Mysql
如上图,配置的时候需要注意两点。一是:Variable Name 这个变量就是数据库配置的名称。若进行jdbc Request,必须输入数据库配置名称。如果找不到这个数据库配置名称,那么相当于不知道你要连的数据库的地址、用户名以及密码。
mysql数据库连接地址格式为:
jdbc:mysql://主机ip或者机器名称:mysql监听的端口号/数据库名称
Example: jdbc:mysql://localhost:3306/test
oracle
oracle相对于mysql稍有写区别。oracle数据库地址连接格式为:
jdbc:oracle:thin:@ip:port:实例名
eg:如果是本地的oracle数据库,端口为1521,数据库实例名为:test
那么连接地址为:jdbc:oracle:thin:@localhost:1521:test
注意:实例名称并不是数据库名称
如果不知道实例名,那么可以在pl sql可以查看。
操作过程为:菜单栏 help > Support Info… >TNS Names
上图 SERVICE_NAME既是实例名。另外oracle配置时,需设置Validation Query为:select 1 from dual,如果是默认 select 1执行时会出现错误。
访问数据库
以下主要以mysql为例,oracle与之相似。
JDBC Request时用到了前面说到的 Variable Name,需对应。运行如图语句,可以得到如下图的结果。
由此可见,数据库连接是成功了。
含变量的sql语句实现
sql中含变量是在所难免,当需要填入变量时候,可以用?代替变量,在参数值(Parameter values)中输入变量值,参数类型(Parameter types)中输入参数的实际类型。如图:
但这样的变量输入方式没有实际意义,所以需要一个真正的变量而不是为变量。定义一个用户自定义变量name,并赋值为:ck1。如图:
在 JDBC Request中,输入参数值中改成 ${name}(在jmter中,变量表达方式为:${variable})如图:
在执行有变量的sql时,需注意QueryType应选择Prepared Select Statement。当有多个参数时,参数间需要用逗号隔开。对应的,参数类型个数需与参数个数对应,参数类型与参数类型也是用逗号隔开。
获取JDBC Request结果
数据库交互后,可能需要提取对应字段的值,那么需要提取结果。如图,先设置输入变量(Variable Names)。注意:一:输出变量值个数若为多个,中间用逗号隔开;二:输出变量值个数必须与选取的个数一致,不能多也不能少。
其执行结果是一个两行三列的数据。那么三列(id,name,agend)分别对应为:A,B,C。如果想得到name列的第二条数据,则变量值为:B_2。如果想得到agend列的第一条数据,则变量值为:C_1。想得到X列第Y条数据,器变量值为:X_Y。
如果想得到执行结果的总数,则可用 A_#(A列数据总数)表示,也可以用B_#或C_#。
当你执行oracle数据时候,发现sql没有问题,但是就是报语法错误了。有两点建议,一:查看QueryType值是否正确;二:查看sql最后有没有分号(;),绝对不能含有分号。mysql目前没有这个问题。还有一点,当进行增、删、改语句时,都是选择QueryType为Update Statement(Prepared Update Statement)
- jmeter JDBC Configuration && JDBC Request
- JMeter JDBC Request
- jmeter 之 JDBC request
- Jmeter之JDBC Request
- JMeter-Sampler-JDBC Request
- JDBC Connection Configuration & JDBC Request 详解
- Jmeter JDBC Request--测试数据库连接
- Jmeter JDBC Request的使用
- JMeter-配置元件-JDBC Connection Configuration
- jmeter—JDBC request动态参数设置
- Jmeter之JDBC Request使用方法(oracle)
- Jmeter之JDBC Request使用方法(oracle)
- Jmeter性能测试,MySQL JDBC request
- Jmeter之JDBC Request使用方法(oracle)
- Jmeter之JDBC Request使用方法(oracle)
- Jmeter之JDBC Request使用方法(oracle)
- Jmeter之JDBC Request使用方法(oracle)
- Jmeter之JDBC Request使用方法(oracle)
- hadoop上eclipse开发环境搭建
- 每个文件都有 .svn文件的问题
- 后台执行的程序通过system()调用ffmpeg卡住 解决办法
- nyoj 1272 表达式求值(中缀式转后缀式)
- 缓存的基本原理
- jmeter JDBC Configuration && JDBC Request
- Node.js中module.exports用法
- uml九种图之用例图 构建图
- nginx location alias 和 root 差别
- 第5周 项目3 - 括号的匹配(2)
- 二分
- Java中final、finally 和 finalize 的区别
- HDU1008
- C++中的to_string()函数[C++11支持]