项目中常常会有直接对数据库进行压测的需求,以前都是通过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. Android(java)学习笔记75:ListViewProject案例(ListView + BaseAdapter + CheckBox)

    这个案例可能稍微复杂一点,我会讲述详细一点: 1. 首先是AndroidManifest.xml: <?xml version="1.0" encoding="ut ...

  2. NOIP2018初赛 解题报告

    前言 \(NOIP2018\)初赛已经结束了,接下来就要准备复赛了. 不过,在此之前,还是先为初赛写一篇解题报告吧. 单项选择题 送分题.(虽然我还是做错了)可以考虑将它们全部转化为\(10\)进制, ...

  3. 2017.12.9 Java中的排序---冒泡排序、快速排序、选择排序

    //冒泡排序 public class demo{ public static void main(String[] args) { int[] sum={2,9,10,1,5,88}; System ...

  4. C# 接口慨述

    接口(interface)用来定义一种程序的协定.实现接口的类或者结构要与接口的定义严格一致.有了这个协定,就可以抛开编程语言的限制(理论上).接口可以从多个基接口继承,而类或结构可以实现多个接口.接 ...

  5. React后台管理系统-商品管理列表组件

    1.商品列表页面结构 <div id="page-wrapper">              <PageTitle title="商品列表" ...

  6. java算法面试题:有数组a[n],用java代码将数组元素顺序颠倒

    package com.swift; import java.util.ArrayList; import java.util.Collections; import java.util.List; ...

  7. 深入浅出:了解for循环中保留i值得方法

    一.保留i值  通常情况下,因为一些效果我们需要获取到for循环中的i的值,但是往往拿到的都是最后一个i的值.下面介绍几种方法可以获取到i的值 1.自定义属性: arr[i].index = i; 以 ...

  8. 对于新能源Can数据、电池BMS等字节和比特位的解析

    1.对于1个字节(8个bit)以上的数据需要先进行倒序(因为高位在前 低位在后). CanID CanData 排序后的 字节数据 十进制 分辨率(0.005) 偏移量(40) 0x18FEC117 ...

  9. 安装配置JDK1.8开发环境以及配置java环境变量的步骤

    1.安装JDK开发环境 下载网站:http://www.oracle.com/ 开始安装JDK: 修改安装目录如下: 确定之后,单击“下一步”. 注:当提示安装JRE时,可以选择不要安装. 2.配置环 ...

  10. mysql 报错 Operand should contain 1 column(s)

    报错 Operand should contain 1 column(s) 原因 select 后面加了 () select (x,x,x)