jmeter的JDBC Request中進行引數設定的幾種方式
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_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:引數值
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 |
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" |
相關推薦
jmeter的JDBC Request中進行引數設定的幾種方式
JDBC Request: 這個sampler可以向資料庫傳送一個jdbc請求(sql語句),它經常需要和JDBC Connection Configuration 配置元件一起配合使用。 目錄: 一、準備工作 二、配置JDBC Connection Co
thinkphp中URL傳引數的幾種方式
在thinkphp中,url傳參合asp.net中原理類似,下面就單個引數和多個引數傳遞方式進行一個簡單講解1.傳單個引數 單個引數這種比較簡單,例如 想像edit操作裡面傳遞一個id值,如下寫法__URL__/edit/id/11http://localhost/index.php/user/edit/id
Servlet中的ServletContext作用域,獲取請求引數的幾種方式
(1)ServletContext作用域可以寫一個SetAttributeServlet檔案與GetAttributeServlet程式碼如下:@WebServlet("/MyFirstServlet")public class SetAttributeServlet ext
ionic專案中跨頁面傳遞引數的幾種方式
1、使用angularjs自帶的$cacheFactory服務 $cacheFactory 從字面直譯即為快取工廠,可以用它來生成快取物件,快取物件以key-value的方式進行資料的儲存,在整個應用
Spring在代碼中獲取bean的幾種方式(轉)
mxml get text spa 回調 獲取對象 ati -s null 獲取spring中bean的方式總結: 方法一:在初始化時保存ApplicationContext對象 1 ApplicationContext ac = new FileSystemXml
selenium 中xpath定位的幾種方式
utf 文本 webdriver 元素 ins send 失敗 ima ive #-*-coding:utf-8-*-from selenium import webdriverfrom time import sleepfrom selenium.webdriver.co
javascript中實現繼承的幾種方式
eat 共享 all cto 原型 構造 child 構造函數 java javascript中實現繼承的幾種方式 1、借用構造函數實現繼承 function Parent1(){ this.name = "parent1" } function Child1()
在Spring中依賴注入的幾種方式實現鬆耦合
一、普通注入方式: (1)在IDEA工作空間內先建立lib包然後匯入Spring的架包(複製進去的架包要按住滑鼠右鍵出現Add as Library)。 (2)在已經建立好架包的基礎上在src目錄下建立XML檔案,檔案命為applicationContext.xml,需要注意的是我們建
C#訪問Lua中的table的幾種方式
C#訪問Lua中的全域性變數 C#程式碼 luaEnv = new LuaEnv(); luaEnv.DoString("require 'CSharpCallLua'"); //獲取Lua中的全域性變數 string name = luaEnv.Global.Get<s
Es6 中快速複製陣列幾種方式
1、第一種通過for迴圈方式 var arr = [1,2,3] var arr2 = []; for(var i =0; i<arr.length; i++){ arr2[i] = arr[i] } arr.push(4) arr2.pop() console.log(arr
react中資訊傳遞的幾種方式
1.父傳子 父親掛載一個屬性 兒子通過this.props.屬性接收 2.子傳父 父親掛載一個方法 兒子通過this.props呼叫這個方法並傳遞需要傳遞的引數 父親然後接收 3.路由傳參 &nb
MVC get,post接收引數的幾種方式
註釋上都寫得很清楚哦/** * Description: MVC get,post接收引數的幾種方式 * 配合postman模擬請求來測試 */@RestController@RequestMapping("/mvc")public class MvcPostAndGet { private stat
Spring中屬性注入的幾種方式以及複雜屬性的注入
在Spring框架中,屬性的注入我們有多種方式,我們可以通過構造方法注入,可以通過set方法注入,也可以通過p名稱空間注入,方式多種多樣,對於複雜的資料型別比如物件、陣列、List集合、map集合、Properties等,我們也都有相應的注入方式。 OK,接下來我們就來看看
Linux系統中安裝軟體的幾種方式
目錄 紅帽派: Linux有很多種發行版本,各種發行版本之間安裝軟體方式和命令不一樣,同一個版本之間安裝軟體也有不同的方法。但是,大體來說,Linux有兩大派系,一個是紅帽派系,包含Redhat、Centos、Fedora等。還有一個是Debian
SpringMVC後臺接收引數的幾種方式
一、@RequestParam 註解 在處理方法入參處使用 @RequestParam 可以把請求引數傳遞給請求方法的形參。 @RequestParam 註解的作用 value=”name” 表示引數名稱。 required=true 表示如
如何在 Springboot 獲取 http request和 http response 的幾種方式
使用Springboot,我們很多時候直接使用@PathVariable、@RequestParam、@Param來獲取引數,但是偶爾還是要用到request和response,怎麼獲取呢? 也很方便
React中圖片引入的幾種方式
方式1 import tsIcon from '../images/typescript.jpeg'; 方式2 const tsIcon = require('../images/typescript
前端ajax非同步傳值以及後端接收引數的幾種方式
原文參考 非同步傳值 前臺往後臺傳值呢,有很多種方式,大家聽我細細道來。 第一種呢,也是最簡單的一種,通過get提交方式,將引數在連結中以問號的形式進行傳遞。 // 前臺傳值方法 // 觸發該方法呼叫ajax function testAjax(yourData) {
spring給容器中註冊元件的幾種方式,1.包掃描+元件標註註解[email protected](
給容器中註冊元件; 1)、包掃描+元件標註註解(@Controller/@Service/@Repository/@Component)[
簡要描述 JavaScript 中定義函式的幾種方式
JavaScript 中,有三種定義函式的方式: 1、函式語句:即使用 function 關鍵字顯式定義函式。如: function f(x){ return x+1; } 2、函式定義表示式