一、添加需要数据库驱动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. RocketMQ 源码分析 —— Message 发送与接收

    1.概述 Producer 发送消息.主要是同步发送消息源码,涉及到 异步/Oneway发送消息,事务消息会跳过. Broker 接收消息.(存储消息在<RocketMQ 源码分析 —— Mes ...

  2. js对时间戳的处理 获取时间,昨天,今天,明天,时间不同格式

    1.获取昨天,今天,明天的时间 //昨天的时间 var day1 = new Date(); day1.setTime(day1.getTime()-24*60*60*1000); var s1 = ...

  3. vue与react对比

    相同点 1.都使用 virtual DOM 2.都是组件化开发 or 都提供了组件化的视图组件 3.数据的改变会引起视图的二次渲染 4.都只有骨架,其他的功能如路由.状态管理等是框架分离的组件. 5. ...

  4. JS全屏事件 模拟键盘事件F11 兼容IE

    方法1: // 全屏 //el为全屏对象 fullScreen(el) { var rfs = el.requestFullScreen || el.webkitRequestFullScreen | ...

  5. 第三小节之Java API

    1.String类和StringBuffer类 字符串中可以包含任意字符,这些字符必须包含在一对双引号” “之内 1.1String类 String a=null与String a="&qu ...

  6. TCP/IP的网络客户端和服务器端程序

    服务器端的过程可以分为以下几个步骤: (1)  初始化套接字的版本信息WSAStartup (2)创建套接字 ,需要两个套接字及客户端和服务器端的套接字 (3)绑定服务器(bind),该函数用于绑定服 ...

  7. Codeforces 989 P循环节01构造 ABCD连通块构造 思维对云遮月参考系坐标轴转换

    A 直接判存不存在连续的三个包含A,B,C就行 /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a ...

  8. 微信开发企业支付到银行卡PHP

    微信开发企业支付到银行卡 功能详解 不会的朋友可以加我QQ:344902511先发个微信支付官方链接你查看https://pay.weixin.qq.com/wiki/doc/api/tools/mc ...

  9. git 分支 版本回退

    本地回退: git reset --hard HEAD~ 回退后推送到远程: git push --force .

  10. VxLAN、PAE、Telemetry简介

    VxLAN VxLAN协议将  Ethernet帧  封装在UDP内,再加上8个字节的VXLAN header,用来标识不同的二层网络. VxLAN的角度看网络虚拟化:在一套物理网络设备上虚拟出多个二 ...