一、添加需要数据库驱动jar包

方式1:直接将jar包复制到jmeter的lib目录,或lib/ext目录;(亲测两个目录都可以使用)

方式2:使用jmeter的Test Plan引入相应的jar包;(这步其实也可以跳过)

二、配置JDBC Connection Configuration(重点在这里)

(1) Variable Name Bound to Pool
Variable Name,数据库连接池的变量名,之后JDBC request可以通过选择不同的连接池名来选择不同的数据库连接,与JDBC Request的Variable name保持一致;
原因:因为链接数据库是需要在JDBC Connection Configuration中配置好的,然后赋予一个变量名称,那么JDBC Request想要去访问数据库,就必须通过这个配置好的元件去链接,所以JDBC Reques就需要通过读取JDBC Connection Configuration的变量中的信息;那怎么读取呢,JDBC Reques就需要用到这个变量了,就需要到名称为mysql的元件中去应用。

(2) Connection Pool Configuration

Max Number of Connections:该数据库连接池的最大连接数,一般可设置为0,意思是每个线程都使用单独的数据库连接,线程之间数据库连接不共享
中文:池中允许的最大连接数。在大多数情况下,将其设置为0,这意味着每个线程将得到它自己的池,其中只有一个连接,即线程之间不共享连接。如果您真的想要使用共享池(为什么?),那么将max count与线程数相同,以确保线程不会相互等待。
Max Wait (ms) 在连接池中取回连接最大等待时间;
如果在试图检索连接过程中(取回连接)超过所设置期限,连接池抛出一个错误;
Time Between Eviction Runs (ms):疏散时间;
在空闲对象驱逐线程运行期间,可以休眠的毫秒数。当非正值时,将运行无空闲对象驱逐器线程。(默认为“60000”,1分钟)(如果当前连接池中某个连接在空闲了time Between Eviction Runs Millis时间后任然没有使用,则被物理性的关闭掉。)
Auto Commit:自动提交sql语句;
打开或关闭连接的自动提交。

(3) Connection Validation by Pool
这是Jmeter用来检验数据库连接是否有效的一种机制,超过5秒没有使用的话,就会用validation query去测试下这个连接是否有效

Test While Idle 当空闲的时候测试连接是否断开
中文:测试连接池的空闲连接,验证查询将会被使用去测试。

Soft Min Evictable Idle Time(ms)
中文:最少的时间连接可能在池中闲置,然后才有资格被闲置的对象驱逐出去,额外的条件是至少在池中保持连接。默认值为5000(5秒)

validation Query:验证查询,检验连接是否有效(数据库重启后之前的连接都失效,需要验证查询),这个语句至少是返回一条数据的查询语句。每种数据库都有自己的验证语句。以下是不同数据库对应的验证语句:

(4) Database Connection Configuration
Database URL: jdbc:mysql://服务器地址:3306/数据库名
(比如:jdbc:mysql://ip:3306/数据库名?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true,备注:“&allowMultiQueries=true” 这句话的意思呢 是为了在JDBC中执行多条select语句的时候用的!)
JDBC Driver class:数据库JDBC驱动类名:com.mysql.jdbc.Driver
Username:数据库连接用户名
password:数据库连接密码

三、配置JDBC Request

参数说明:
Variable Name:数据库连接池的名字,需要与上面配置的JDBC Connection Configuration中 Variable Name Bound to Pool的Variable Name相同
Query Type:SQL的类型,查询选择Select Statement;查询SQL需传递参数选择Prepared Select Statement;多个查询语句(不使用参数的情况下)放在一起执行选择Callable statement;
Query:填写的sql语句未尾不要加“;”
Parameter values:若要传递参数入SQL中,可输入相关值或者参数化的变量
Parameter types:参数化对应的数据类型
Variable names:保存sql语句返回结果的变量名(多个时表示第几列)
Result variable name:创建一个对象变量,保存所有返回的结果
Query timeout:查询超时时间
Handle result set:定义如何处理由callable statements语句返回的结果
Variable Name:输入在JDBC Connection Configuration配置的Variable Name的值

四、查看结果

添加debug sampler、察看结果树查看查询的结果

4.1结果释义:
VEHICLE_ID_#=9 表示VEHICLE_ID列的总行数,VEHICLE_ID_n=xxxxx 表示VEHICLE_ID列的第n行的数据,后续使用${VEHICLE_ID_#}、${VEHICLE_ID_n}进行参数引用;
假如我们只需要第一列和第三列的数据,可以写成column1,column3,中间的","不可以省略;

4.2 Result variable name 参数使用方法:
如果给这个参数设置值,它会创建一个对象变量,保存所有返回的结果,然后按照行号加列名去取值,获取具体值的方法:columnValue = vars.getObject(“resultObject”).get(0).get(“Column Name”)

原文出处:https://blog.csdn.net/weixin_43828011/article/details/101362167

Jmeter 设置连接oracle数据库的更多相关文章

  1. 1--Jmeter4.0连接Oracle数据库

    一.Jmeter要连接oracle数据库,就必须复制JDBC驱动jar包文件ojdbc5.jar或者ojdbc6.jar到Jmeter的lib目录下 路径:oracle安装目录\jdbc\lib 二. ...

  2. [转]ODBC连接ORACLE数据库的设置

    本文转自:http://www.cppblog.com/edog/articles/1420.html 首先安装Oracle,以Oracle 817为例,作为ODBC开发者的客户端,才能使用Oracl ...

  3. 记录排查解决Hubble.Net连接Oracle数据库建立镜像库数据丢失的问题

    起因 前几天在弄Hubble连接Oracle数据库,然后在mongodb中建立一个镜像数据库; 发现一个问题,原本数据是11W,但是镜像库中只有6w多条; 刚开始以为是没运行好,又rebuild了一下 ...

  4. NodeJs连接Oracle数据库

    nodejs连接oracle数据库,各个平台的官方详情文档:https://github.com/oracle/node-oracledb/blob/master/INSTALL.md 我的nodej ...

  5. jdbc连接oracle数据库

    /*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...

  6. 用VS连接oracle数据库时ORA-12504错误

    在用VS2008连接oracle数据库时,可能会出现: ORA-12504: TNS: 监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME 只需在web.config文件Data ...

  7. ASP.NET连接Oracle数据库的步骤详解(转)

    ASP.NET连接Oracle数据库的步骤详解   本文我们主要介绍了ASP.NET连接Oracle数据库的步骤及每个步骤需要进行的设置,希望能够对您有所帮助.   在用ASP.NET开发应用程序时, ...

  8. [原创]安装Oracle 11gR2,以及如何在win8下使用plsql develper连接Oracle数据库 ,在这里和大家分享下

    一,关于win8下安装Oracle 11gR2 1.我下载的是Oracle_11gR2_win64.其中有两个包: 注意:在解压了之后将:win64_11gR2_database_2of2\datab ...

  9. PowerDesigner连接Oracle数据库建表序列号实现自动增长

    原文:PowerDesigner连接Oracle数据库建表序列号实现自动增长 创建表就不说了.下面开始介绍设置自动增长列. 1 在表视图的列上创建.双击表视图,打开table properties — ...

随机推荐

  1. VSCode使用Remote-SSH远程服务器

    VSCode的Remote-SSH 之前一直使用的xshell5,现在在window上必须要升级方可使用,在mac上没法安装学习版.于是就想着vscode能不能实现这一需求. 微软开发了一个VSCod ...

  2. docker安装教程-centos

    Docker 要求CentOS 系统的内核版本在3.10以上,查看本页面的前提条件来验证你的CentOS 版本是否支持Docker . 1.通过uname -r 命令查看你当前的内核版本 uname ...

  3. IA-32 Assembly Language Reference Manual

    Load Full Pointer (lds,les, lfs, lgs, and lss) lds{wl} mem[32|48], reg[16|32]les{wl} mem[32|48], reg ...

  4. 在Linux上安装tomcat和JDK

    1.tomcat的安装 a.#cd download(进入download文件夹) b.#wget http://111.23.5.142:82/mirrors.hust.edu.cn/apache/ ...

  5. icmp, IPPROTO_ICMP - Linux IPv4 ICMP 核心模块.

    DESCRIPTION 描述 本网络核心协议模块实现了基于 RFC792 协议中定义的<互联网控制报文协议>.它针对网络主机间通讯出错的情况作出回应并给出诊断信息.用户不能直接使用本模块. ...

  6. 设备树里面#address-cells 、#size-cells、reg三者的关系

    栗子1: cpus { #address-cells = <>; #size-cells = <>; cpu@ { compatible = "arm,cortex- ...

  7. zabbix 添加图行树

    1.安装graphtree cd /usr/share/zabbix wget https://raw.githubusercontent.com/OneOaaS/graphtrees/master/ ...

  8. Python excel读写

    # coding=utf-8 print "----------------分割线 xlrd--------------------" import xlrd #打开一个wordb ...

  9. HDU5840 Problem This world need more Zhu 分块 树剖

    给一颗n个点的有点权的树,有m个询问,对于每个询问u,v,k,首先将点u到点v的最短路径上的所有点按顺序编号,u的编号为1,求树链上所有点的新编号cnt满足cnt%k==0的点的权值的最大值.n,m, ...

  10. [易学易懂系列|rustlang语言|零基础|快速入门|(7)|函数Functions与闭包Closure]

    [易学易懂系列|rustlang语言|零基础|快速入门|(7)函数Functions与闭包Closure] 有意思的基础知识 函数Functions与闭包Closure 我们今天再来看看函数. 在Ru ...