Jmeter之JDBC Request使用方法(oracle)
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:引數值
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
作者:Glen.He
出處:http://www.cnblogs.com/puresoul/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。
相關文章
- Jmeter JDBC Request 使用詳解JMeterJDBC
- Jmeter系列(30)- 詳解 JDBC RequestJMeterJDBC
- Jmeter之HTTP Request DefaultsJMeterHTTP
- jmeter之JDBC類元件JMeterJDBC元件
- Jmeter系列(31)- 獲取並使用 JDBC Request 返回的資料JMeterJDBC
- 『動善時』JMeter基礎 — 42、JDBC Request元件詳細介紹JMeterJDBC元件
- 使用Jmeter進行效能測試實戰:詳解HTTP請求和JDBC request進階篇JMeterHTTPJDBC
- Jmeter系列(21)- 詳解 HTTP RequestJMeterHTTP
- Request.Cookies使用方法分析Cookie
- Jsp 中 Request 使用方法JS
- jdbc【oracle】JDBCOracle
- Oracle hang 之sqlplus -prelim使用方法OracleSQL
- Java 之 JDBCJavaJDBC
- Java之JDBCJavaJDBC
- Java之JDBC①JavaJDBC
- jdbc連線oracleJDBCOracle
- Java 之 JDBC(二)JavaJDBC
- Jmeter 4.0壓力測試工具安裝及使用方法JMeter
- Oracle JOB 使用方法Oracle
- Jmeter之Http Cookie ManagerJMeterHTTPCookie
- JDBC(Oracle) jar包下載JDBCOracleJAR
- jdbc 連線 oracle racJDBCOracle
- oracle 10.2.0.1 rac發現sql查詢hang之gc cr requestOracleSQLGC
- Flashback [Oracle SQL] 使用方法OracleSQL
- mysql & oracle savepoint 使用方法MySqlOracle
- jmeter學習指南之詳解jmeter執行緒組JMeter執行緒
- Oracle BI Answers Direct Database Request issueOracleDatabase
- jmeter之——jms壓測(activemq)JMeterMQ
- Jmeter之錄製指令碼JMeter指令碼
- Jmeter之目錄結構JMeter
- jmeter之GUI執行原理JMeterGUI
- maven打包oracle jdbc驅動MavenOracleJDBC
- powerdesigner jdbc 連線 oracleJDBCOracle
- JDBC連線ORACLE問題JDBCOracle
- 如何檢視Oracle JDBC版本OracleJDBC
- 20160324 javaweb 之requestJavaWeb
- HTTP Status 500 - Request processing failed; nested exception is org.springframework.jdbc.BadSqlGramHTTPAIExceptionSpringFrameworkJDBCSQL
- mule進階之jdbc transport:JDBC