6.jmeter連接數(shù)據(jù)庫
第一步添加jdbc jar包
- 添加至jmeter lib文件下ext文件內
C:\software\apache-jmeter-4.0\lib\ext

jmeter 添加 jdbc配置原件


Variable Name:數(shù)據(jù)庫連接池的名稱,我們可以有多個jdbc connection configuration,每個可以起個不同的名稱,在jdbc request中可以通過這個名稱選擇合適的連接池進行使用。
Database URL:數(shù)據(jù)庫url,jdbc:oracle:thin:@host_ip or machine_name:Oracle 監(jiān)聽器監(jiān)聽的端口:Oracle實例的名 (可在oracel安裝目錄下tnsnames.ora文件中找到這些信息)
JDBC Driver class:JDBC驅動
username:數(shù)據(jù)庫登陸的用戶名
passwrod:數(shù)據(jù)庫登陸的密碼
執(zhí)行jdbc 請求
Variable Name:數(shù)據(jù)庫連接池的名字,需要與JDBC Connection Configuration的Variable Name Bound Pool名字保持一致
Parameter valus:參數(shù)值
Parameter types:參數(shù)類型,可參考:Javadoc for java.sql.Types
Variable names:保存sql語句返回結果的變量名
Result variable name:創(chuàng)建一個對象變量,保存所有返回的結果
Query timeout:查詢超時時間
Handle result set:定義如何處理由callable statements語句返回的結果

jdbc執(zhí)行請求中文亂碼如何解決

databaseurl中添加 ?useUnicode=true&characterEncoding=utf-8
jdbc執(zhí)行批量請求如何解決
databaseurl中添加&allowMultiQueries=true
表示允許多查詢
2、在sql query中使用${變量名}的方式引用:

方法(二): 在sql quety中使用“?”作為占位符,并傳遞參數(shù)值和參數(shù)類型,如下圖:
1、傳遞的參數(shù)值是常量,如下圖傳遞了3個常量:10,ACCOUNTINGNEW YORK:

2、傳遞的參數(shù)值是變量,如下圖中${DNAME}:

五:Variables names參數(shù)使用方法:
Jmeter官網(wǎng)給的解釋是:如果給這個參數(shù)設置了值,它會保存sql語句返回的數(shù)據(jù)和返回數(shù)據(jù)的總行數(shù)。假如,sql語句返回2行,3列,且variables names設置為A,,C,那么如下變量會被設置為:
A_#=2 (總行數(shù))
A_1=第1列, 第1行
A_2=第1列, 第2行
C_#=2 (總行數(shù))
C_1=第3列, 第1行
C_2=第3列, 第2行
如果返回結果為0,那么A_#和C_#會被設置為0,其它變量不會設置值。
如果第一次返回6行數(shù)據(jù),第二次只返回3行數(shù)據(jù),那么第一次那多的3行數(shù)據(jù)變量會被清除。
可以使用{A_1}...來獲取相應的值
示例:
我們還是用上面的數(shù)據(jù)庫,把所有數(shù)據(jù)查出來,DEPT表有有3個字段,4條記錄(忘記了的可以回到第一步那里查看)
1、添加一個jdbc request名為select4,添加一個Debug Sampler用來查看輸出的結果,設置 variables name為a,b,c:

2、執(zhí)行結果:

jmeter腳本使用sql查詢數(shù)據(jù)循環(huán)執(zhí)行
添加循環(huán)控制器

添加計數(shù)器

引用數(shù)據(jù)庫返回變量時使用變量名加行號執(zhí)行

通過 變量拼接函數(shù)拼接變量



