项目中常常会有直接对数据库进行压测的需求,以前都是通过Jmeter实现的,但是Jmeter本身图表及结果收集方面没有Loadrunner那么强大,所以利用loadrunner工具自己的函数整理了一个脚本。思路大致如下:

1、环境准备

Oracle 11g

LR11

适用于WebService协议

2、Oracle数据库环境说明

Oracle安装步骤这里不进行说明,详细步骤请参考:https://jingyan.baidu.com/article/363872eccfb9266e4aa16f5d.html

重点注意:Oracle安装完毕后,在本地计算机命令行解释器键入“regsvr32 D:\oracle\11.0\db\BIN\OraOLEDB11.dll”,其中路径为Oracle安装路径BIN目录下的OraOLEDB11.dll,否则会报“未在计算机注册‘OraOLEDB.Oracle.1’”错误。

3、lr_db_connect函数连接目标数据库

脚本如下:

 //创建Oracle数据库连接
lr_db_connect("StepName=Connect",
"ConnectionString=Provider=OraOLEDB.Oracle.1, "
"Data Source=SID;Server=服务器IP;Port=端口号;"
"Persist Security Info=True; "
"User ID=username;Password=pw",
"ConnectionName=db1",
"ConnectionType=OLEDB",
LAST);

注意:一定要先进行上一步的环境注册

执行脚本,报“Error: DB Connection failed {"ORA-01017: invalid username/password; logon denied"}”错误,但是在本地登录时用户名、密码都是对的,最后修改用户名(可以改成一样的)或新建用户登录成功。

原因可参考:http://www.51testing.com/html/36/614336-858335.html

4、SQL执行及查询结果判断

成功连接数据库后,执行SQL语句,具体脚本如下:

     int i=;
#数据条数
int NumRows=; //执行SQL
i = lr_db_executeSQLStatement("StepName=Query",
"ConnectionName=db1",
"SQLStatement=select * from TEST.table1",
"DatasetName=MyDataset",
LAST ); //查看数据条数
lr_output_message("数据条数:%d",i); //打印执行结果
lr_db_dataset_action("StepName=RemoveDataset",
"DatasetName=MyDataset",
"Action=PRINT",
LAST ); //利用循环获取具体字段的取值-----根据DatasetName
while (i<) {
lr_db_getvalue("StepName=GetValue",
"DatasetName=MyDataset",
"Column=id",
"Row=next",
"OutParam=ID",
LAST );
lr_output_message("The value is: %s", lr_eval_string("{ID}") );
i=i+;
} //释放结果
lr_db_dataset_action("StepName=RemoveDataset",
"DatasetName=MyDataset",
"Action=REMOVE",
LAST);

5、场景设计及执行

脚本调试好(事务、判断等自行添加即可)就可以根据实际需求进行场景设计了,执行场景等测试流程。。。

【LoadRunner】利用lr_db_connect函数对Oracle数据库压测的完整流程的更多相关文章

  1. LoadRunner调用java函数测试oracle

    LoadRunner调用java函数测试oracle 测试oracle的方法有很多,可以使用loadrunner的oracle协议直接调用oracle进行测试,也可以调用开发的java程序对oracl ...

  2. 利用Navicat Premium连接Oracle数据库

    利用Navicat Premium连接Oracle数据库 Navicat premium是一款数据库管理工具,支持多种数据库,也非常轻量: 安装包准备:Navicat Premium_11.1.8简体 ...

  3. 利用powerDesigner15.1连接oracle数据库并自动生成表结构

    利用powerDesigner15.1连接oracle数据库并自动生成表结构 参考:http://blog.csdn.net/qq_24531461/article/details/76713802 ...

  4. 利用PL/SQL从Oracle数据库导出和导入数据

    转自:https://www.jb51.net/article/109768.htm 本文实例为大家分享了使用PL/SQL从Oracle数据库导出和导入数据的方法,供大家参考,具体内容如下 1.导出数 ...

  5. eclipse利用sql语句对Oracle数据库进行操作

    对Oracle数据库执行操作的sql语句中表名和列名都需用英文双引号("")括起来. 注(\为转义符) 1.插入数据 sql = "insert into \" ...

  6. 压力测试(四)-Mysql数据库压测实操

    1.Jmeter压测实战之JDBC request压测Mysql讲解 简介:讲解jdbc压测mysql相关准备工作,jar包添加,配置讲解 1.Thread Group -> add -> ...

  7. Loadrunner根据PV量来确定需要进行压测的并发量

    在实际做压力测试的过程中,我们有时不知道用怎样的并发量比较好,下面是几个用PV量去确定并发量的公式,这个在我们公司是比较适用的,大家可以根据自己的业务进行运算. 方法一:这个方法是我在网上查到的80- ...

  8. 利用python对websocket进行并发压测

    简述 产品经理鉴于运营反馈并对程序的websocket长连接保持怀疑的态度,让我对websocket服务器进行压力测试,我内心是拒绝的. 开发思路 查阅websocket的相关资料,查到python的 ...

  9. Zabbix利用orabbix插件监控Oracle数据库

    一.jdk的安装(Orabbix Server) 1.软件解压,放到固定位置 1 2 tar zxf jdk-8u51-linux-x64.tar.gz mv jdk1.8.0_51/ /usr/lo ...

随机推荐

  1. zabbix文档3.4-7配置

    zabbix文档3.4-7配置 1 主机和主机组 典型的Zabbix主机是您希望监视的设备(服务器,工作站,交换机等). 创建主机是Zabbix中首个监控任务之一.例如,如果要监视服务器"x ...

  2. C# DateTime的时区

    C#中可以通过DateTime的Kind属性指定DateTime的时区 DateTimeKind有3个枚举值: Unspecified:未指定为UTC时间或本地时间 Utc: UTC时间 Local: ...

  3. 【转帖】Linux mount 域控权限的共享目录

    https://www.linuxidc.com/Linux/2012-09/71388.htm 之前一直以为没法 映射 home 域的内容 其实还有一个地方.. 注意 空格的话 需要用 \ 进行转移 ...

  4. 使用PinYin4j,获取汉字的拼音字母

    需要导入的文件 <!-- 引入pinyin4J的依赖 --> <dependency> <groupId>com.belerweb</groupId> ...

  5. 绑定Ligerui中的ligerComboBox二级联动

    $.ajax({ url: "HRHandler.ashx", data: "bz=getDepartData", cache: false, type: &q ...

  6. GNU Parallel Tutorial

    GNU Parallel Tutorial Prerequisites Input sources A single input source Multiple input sources Linki ...

  7. 认识mysql(4)

    今日是MySQL的第四篇,难度会稍微加大,加油! 开始吧! 1.外键(foreign  key) 1.定义:让当前表字段的值在另一个表的范围内选择 2.语法: foreign key(参考字段名) r ...

  8. mysql 查询出 n小时 以前的数据

    select * FROM biaoming WHERE TIMESTAMPDIFF(SECOND ,CREATE_TIME,now() ) > 3*60*60

  9. 一、Linux 安装

    Linux 安装 本章节我们将为大家介绍Linux的安装. 本章节以 centos6.4 为例. centos 下载地址: 可以去官网下载最新版本:https://www.centos.org/dow ...

  10. Class:向传统类模式转变的构造函数

    前言 JS基于原型的'类',一直被转行前端的码僚们大呼惊奇,但接近传统模式使用class关键字定义的出现,却使得一些前端同行深感遗憾而纷纷留言:"还我独特的JS"."净搞 ...