一.测试环境准备

      Oracle:10g

      JDBC驱动:classes12.jar

oracle安装目录下(oracle\product\10.2.0\db_1\jdbc\lib\classes12.jar)文件复制到JMeter/lib目录下

      JMeter:jmeter-2.11

二.设计测试计划并运行

1.打开JMeter,点击测试计划

点击“浏览...”按钮,将你的JDBC驱动添加进来。

2.添加一个线程组,右键点击“线程组”,在下面添加一个“JDBC Connection Configuration”

来配置一下JDBC Connection Configuration页面。

Pool Timeout:连接超时可以修改此时间

3.右键点击“线程组”,在下面添加一个“JDBC request”。

需要修改的参数包括Variable Name,要与上面的 JDBC Connection Configuration填写同样的内容,如此处的:oracleConn。这里表示 JDBC Connection Configuration建立一个名为Oracle 的连接池,之后其它的JDBC Request都共用这个连接池.

注意:SQL语句中,可以使用参数化.插入语句中的值也能参数化,如下图:

注意:SQL语句后面不可能添加分号,否则报语法错误. 

4.添加断言,右键点击线程组---->添加--->断言---->响应断言。

5.我们来添加一些监听器来行查看:

添加一个断言结果:右键点击线程组---->添加--->监听器---->结果断言。

添加一个图形结果:右键点击线程组---->添加--->监听器---->图形结果。

添加一个查看结果树:右键点击线程组---->添加--->监听器---->查看结果树。

下面是添加所有的列表:

6.在线程组页面设置用户数、启动时间、循环次数,再点击菜单栏“运行”----“启动”

下面是结果:

至此,Jmeter进行压力测试就到此为此了,具体还要根据实际的项目来进行实施。

备注:Assertion Results对Jmeter压测的throughout有严重的影响。

三.遇到的问题

1、出现:java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@127.0.0.1:1521:ORCL错误解决

原来是因为没有加载包的缘故

解决方法:关闭jmeter,然后将class12.jar(电脑上搜索一下classes12.jar这个文件)复制到jmeter目录下面的lib目录中,重新启动运行即可。

2、连接MySQL数据库时,出现:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown character set: 'utf8mb4'错误

看起来似乎是设置字符的问题,后来在JDBC连接配置那里将Database URL加上字符编码即可(?characterEncoding=UTF-8)

jdbc:mysql://127.0.0.1:3306/paydb?characterEncoding=UTF-8

3、出现:org.apache.avalon.excalibur.datasource.NoAvailableConnectionException: Could not create enough Components to service your request (Timed out).

解决方法:出现这个原因是因为连接超时,增大Pool TimeOUT就可以了。

4、执行时提示:ORA-00911: invalid character。

解决方法:确保你在JDBC Request里面的Query中输入的SQL语句是正确的。注意:SQL语句后面不要添加分号。

四.驱动类

不同的驱动类对应的jar不同,一定要注意下面介绍下:MSSQL下载sqljdbc4.jar放在apache-jmeter-2.6\lib下面

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:user/pass@//host:port/service

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:1433;databaseName=DBname

或者

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

JMeter学习(八)JDBC测试计划-连接Oracle的更多相关文章

  1. JMeter学习笔记--JDBC测试计划-连接Mysql

    1.首先要下载jar包,mysql-connector-java-5.1.7-bin.jar 放到Jmeter的lib文件下ext下 2.添加JDBC Connection Configuration ...

  2. jmeter中通过jdbc方式连接mysql数据库的配置参考

    jmeter中通过jdbc方式连接mysql数据库的配置参考: Database URL=jdbc:mysql://ip:port/dbname?useUnicode=true&allowMu ...

  3. Java中通过JDBC远程连接Oracle数据库

    通过jdbc连接数据库,拢共分三步: 第一步:下载一个JDBC的驱动,然后把jar包扔到项目里并add to build path: 第二步:去本地oracle文件夹下找到“TNSNAMES.ORA” ...

  4. Oracle的学习三:java连接Oracle、事务、内置函数、日期函数、转换函数、系统函数

    1.java程序操作Oracle java连接Oracle JDBC_ODBC桥连接 1.加载驱动: Class.forName("sun.jdbc.odbc.JdbcodbcDriver& ...

  5. java_web学习(八) jdbc连接mysql

    首先我们来看一下主机与数据库的关系图 实际上是两台服务器 一:下载数据库驱动jar包存放WebContent—WEB-INF—lib目录下 1.2步骤 1. 2. 3 4. 1.3 将jar包导入到W ...

  6. jdbc之连接Oracle的基本步骤

    // 1.加载驱动程序 Class.forName("oracle.jdbc.driver.OracleDriver"); // 2.获取数据库连接 Connection conn ...

  7. jdbc简单连接oracle数据库

    package com.shangsheng; import java.sql.*; public class UserOracle { public static void main(String[ ...

  8. jdbc/ojdbc连oracle的三种方式(转)

    文章转自:http://blog.itpub.net/22664653/viewspace-1383092/ 前言  本文是一篇学习笔记,学习如何通过java jdbc /ojdbc 连接oracle ...

  9. JMeter学习(八)JDBC测试计划-连接Oracle(转载)

    转载自 http://www.cnblogs.com/yangxia-test 一.测试环境准备   Oracle:10g  JDBC驱动:classes12.jar oracle安装目录下(orac ...

随机推荐

  1. ios -WKWebView 高度 准确,留有空白的解决方案

    #import "ViewController.h" #import <WebKit/WebKit.h> @interface ViewController ()< ...

  2. C++11写算法之插入排序

      插入排序,是指将从1 –> size-1的数一个个插入到前面已经排序好的数组中. 时间复杂度:O(n^2) , O(nlgn) (lgn指使用二分查找插入点位置) 空间复杂度:O(1) // ...

  3. 第8章 Docker Compose 相关问题

    8.1 你那个LNMP例子中的docker-compose.yml中有好多networks,都是什么意思啊? 我写的 LNMP 多容器互通的例子:https://coding.net/u/twang2 ...

  4. Quartz.NET 作业调度

    Quartz 简介: Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)来调 ...

  5. redis 列表的底层数据结构链表

    当一个列表键包含了数量比较多的元素,又或者列表中包含的的元素都是比较长的字符串,Redis就会使用链表作为列表键的底层实现 每个列表节点的数据结构为 列表数据接口中保存了 该节点前置节点的指针.后置节 ...

  6. EasyNVR摄像机无插件直播按需RTSP拉流播放流程详解

    1.背景需求 有许多客户现场,有许多设备但是不需要一直向设备端取视频流,因为在用户不观看的情况下,还在获取视频资源,一方面大大的浪费了网络带宽资源,一方面对设备服务器要求也较高,用户成本就要提高,这是 ...

  7. 【转】再谈CLR查找和加载程序集的方式

    这是一个老问题,以前也有朋友写过一些文章介绍,但可能还不是很全面.我也多次被人问到,这里结合案例再次谈谈,希望对大家有所帮助. 本文范例代码可以通过这里下载 http://files.cnblogs. ...

  8. Security Report: Stop using relative path to import CSS files

    Detecting and exploiting path-relative stylesheet import (PRSSI) vulnerabilities   Early last year G ...

  9. MySQL将语句写入到binlog二进制日志中

    由于二进制日志是公共资源,所有线程都要写二进制日志,所以一定要避免两个线程同时更新二进制日志.因此,在事件组写二进制日志时,二进制日志将获得一个互斥锁LOCK_log,然后在事件组写完后释放,由于服务 ...

  10. 超详细:CSS-float详解

    Float 详解 本文摘自:http://www.cnblogs.com/yuanchenqi/articles/5615774.html 首先要知道,div是块级元素,在页面中独占一行,自上而下排列 ...