Jmeter之JDBC Request使用方法(oracle)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS SQL Server,基础系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: JDBC Request:   这个sampler可以向数据库发送一个jdbc请求(sql语句),它经常需要和JDBC Connection Configuration 配置元件一起配合使用。   目录: 一、准备工作 二、配置JDBC Connection Configuration 三...

JDBC Request:

  这个sampler可以向数据库发送一个jdbc请求(sql语句),它经常需要和JDBC Connection Configuration 配置元件一起配合使用。  

目录:

一、准备工作

二、配置JDBC Connection Configuration

三、配置JDBC Request

四:JDBC Request参数化

五:Variables names参数使用方法

六:Result variable name参数使用方法

七:数据库驱动类和URL格式

 

一、准备工作:

1、本文使用oracle 数据库进行测试,数据库实例名为ORCL,用户名密码为scoff/******

2、数据库中有表:DEPT,表中数据如下:

 

3、复制ORACLE的JDBC驱动JAR包文件(我的在:D:\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar)到JMeter的lib目录下 

或者

  在Jmeter的Test Plan中引入ojdbc14.jar包

 

二、配置JDBC Connection Configuration:

重要参数说明:

  • Variable Name:数据库连接池的名称,我们可以有多个jdbc connection configuration,每个可以起个不同的名称,在jdbc request中可以通过这个名称选择合适的连接池进行使用。
  • Database URL:数据库url,jdbc:oracle:thin:@host_ip or machine_nameOracle 监听器监听的端口Oracle实例的名 (可在oracel安装目录下tnsnames.ora文件中找到这些信息)
  • JDBC Driver class:JDBC驱动
  • username:数据库登陆的用户名
  • passwrod:数据库登陆的密码

三、配置JDBC Request:

1、重要参数说明:

  Variable Name:数据库连接池的名字,需要与JDBC Connection ConfigurationVariable Name Bound Pool名字保持一致

  Query:填写的sql语句未尾不要加“;”

  Parameter valus:参数值

  Parameter types:参数类型,可参考:Javadoc for java.sql.Types

  Variable names:保存sql语句返回结果的变量名

  Result variable name:创建一个对象变量,保存所有返回的结果

  Query timeout:查询超时时间

  Handle result set:定义如何处理由callable statements语句返回的结果

2、执行结果:

 

四:JDBC Request参数化

方法(一): 定义变量,在sql quety中使用变量:

1、在Test plan中定义三个变量(当然也可以使用参数化:Jmeter参数化):

2、在sql query中使用${变量名}的方式引用:

方法(二): 在sql quety中使用“?”作为占位符,并传递参数值和参数类型,如下图:

1、传递的参数值是常量,如下图传递了3个常量:10,ACCOUNTINGNEW YORK:

2、传递的参数值是变量,如下图中${DNAME}:

 

五:Variables names参数使用方法:

  Jmeter官网给的解释是:如果给这个参数设置了值,它会保存sql语句返回的数据和返回数据的总行数。假如,sql语句返回2行,3列,且variables names设置为A,,C,那么如下变量会被设置为:

  A_#=2 (总行数)
  A_1=第1列, 第1行
  A_2=第1列, 第2行
  C_#=2 (总行数)
  C_1=第3列, 第1行
  C_2=第3列, 第2行

  • 如果返回结果为0,那么A_#和C_#会被设置为0,其它变量不会设置值。
  • 如果第一次返回6行数据,第二次只返回3行数据,那么第一次那多的3行数据变量会被清除。
  • 可以使用${A_#}、${A_1}...来获取相应的值

示例

我们还是用上面的数据库,把所有数据查出来,DEPT表有有3个字段,4条记录(忘记了的可以回到第一步那里查看)

1、添加一个jdbc request名为select4,添加一个Debug Sampler用来查看输出的结果,设置 variables name为a,b,c:

2、执行结果:

 

 

六:Result variable name参数使用方法:

   如果给这个参数设置值,它会创建一个对象变量,保存所有返回的结果,获取具体值的方法:columnValue = vars.getObject("resultObject").get(0).get("Column Name")

执行结果:

 

七:数据库驱动类和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/service OR

jdbc:oracle:thin:@(description=(address=(host={mc-name})

(protocol=tcp)(port={port-no}))(connect_data=(sid={sid})))

Ingres (2006)

ingres.jdbc.IngresDriver

jdbc:ingres://host:port/db[;attr=value]

MSSQL

com.microsoft.sqlserver.jdbc.SQLServerDriver

或者

net.sourceforge.jtds.jdbc.Driver

jdbc:sqlserver://IP:port;databaseName=DBname

或者

jdbc:jtds:sqlserver://localhost:1433/"+"library"

 

 

 

 

官网例子(mysql):http://jmeter.apache.org/usermanual/build-db-test-plan.html

关于jmeter中jdbc相关参数的应用: http://f.dataguru.cn/thread-554702-1-1.html

 

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
SQL Oracle 关系型数据库
【Oracle】oracle sqluldr2工具使用方法
oracle数据导出工具sqluldr2可以将数据以csv、txt等格式导出,适用于大批量数据的导出,导出速度非常快。导出后可以使用oracle loader工具将数据导入。
1224 0
|
机器学习/深度学习 人工智能 Oracle
在Oracle中,TO_CHAR()、TO_NUMBER()和TO_DATE()函数的使用方法以及作用
在Oracle中,TO_CHAR()、TO_NUMBER()和TO_DATE()函数的使用方法以及作用
1030 0
|
Oracle 关系型数据库
Oracle高级查询中rank,over partition函数的使用方法
原文网址:http://www.jb51.net/article/85113.htm 本文主要介绍Oracle中rank,over partition函数的用法,希望对大家有所帮助。
1268 0
|
Oracle 关系型数据库 Shell
oraToolKit Oracle安装辅助工具的使用方法
目录 目录 otk使用方式 使用oraToolKit进行检测安装包情况 使用oraToolKit进行检测操作系统情况 最后 otk使用方式 oraToolkit的安装在 RHEL6.1 安装 Oracle10gr2 (图文、解析) 一文中已经介绍过了,是非常简单的rpm包安装。
906 0
|
SQL Oracle 关系型数据库
Oracle hang 之sqlplus -prelim使用方法
第一章  Oracle hang 之sqlplus -prelim使用方法  很多情况下,Oracle hang导致sqlplus无法连接,从而无法获得Oracle系统和进程状态,使得定位问题缺少强有力的依据。
1256 0
|
Oracle 关系型数据库
oracle 11g adrci 工具使用方法
oracle 11g adrci  是11g 以后才能的新功能 [oracle@rac1 ~]$ adrci ADRCI: Release 11.
1057 0
|
18天前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
200 93
|
3月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。

推荐镜像

更多