zoukankan      html  css  js  c++  java
  • 转:JDBC Request使用方法

    1.   下载mysql jar

    下载mysql jar包

    http://dev.mysql.com/downloads/connector/j/

    网盘下载地址:mysql-connector-java-commercial-5.1.25-bin.jar

     

    查看jar包支持的mysql版本:

    http://dev.mysql.com/doc/connector-j/en/connector-j-versions.html

     

    查看mysql数据库版本:SELECT VERSION();

     

    注:如果下载的jar包版本不支持mysql数据库,运行Jmter时可能会报错:no suitable driver found for jdbc:mysql//……..

     

    Jmeter添加jar文件

    下载后解压.zip文件,把mysql-connector-java-x.x.x-bin.jar(例中:mysql-connector-java-commercial-5.1.25-bin.jar)放到Jmeter安装目录下的lib目录下(例中:D:Program Filesapache-jmeter-2.13lib)

     

    二、配置JDBC Connection Configuration:

    重要参数说明:

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

    三、配置JDBC Request:

    1、重要参数说明:

      Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable 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

  • 相关阅读:
    C++中使用多线程
    hdu 4223 dp 求连续子序列的和的绝对值最小值
    hdu 1372 bfs 计算起点到终点的距离
    hdu 4217 线段树 依次取第几个最小值,求其sum
    心得
    hdu 1175 bfs 按要求进行搜索,是否能到达,抵消两个(相同)棋子
    hdu 4221 greed 注意范围 工作延期,使整个工作时间罚时最少的单个罚时最长的值
    hdu 2844 多重背包 多种硬币,每一种硬币有一点数量,看他能组成多少种钱
    uva LCDDisplay
    hdu 4218 模拟 根据一个圆点和半径画一个圆 注意半径要求
  • 原文地址:https://www.cnblogs.com/lci05/p/6748211.html
Copyright © 2011-2022 走看看