JMeter - 将值从第一个 JDBC 请求传递到第二个 JDBC 请求

Posted

技术标签:

【中文标题】JMeter - 将值从第一个 JDBC 请求传递到第二个 JDBC 请求【英文标题】:JMeter - passing value from First JDBC Request to a Second JDBC Request 【发布时间】:2015-03-13 15:23:56 【问题描述】:

我的环境:JMeter v2.11、Oracle 12、JDK 7

我有一个 Jmeter 线程,我试图将值从一个 JDBC 请求采样器传递到另一个 JDBC 请求采样器,但是当第二个 JDBC 请求运行时,结果为空白。

我已经确认SQL没问题 1.在Oracle Developer中运行SQL,数据返回成功

我还确认,如果我在 Jmeter 中指定值而不是让它从第一个采样器中获取值 - 查询返回结果很好

我的工作:

JDBC Request 1 --> Query Type: Select Statement 
select max(appid) from table; Variablename --> appid
JDBC Request 2 --> Query Type: Prepared Select Statement
select datevalue from table1 
inner join table2 on table1.id = table2.id where value = ?; 
ParameterValue = $appid, ParameterType = VARCHAR

当我同时运行 JDBC 请求采样器时 - 它们都在视图结果树侦听器中报告成功执行,JDBC 请求 1 在响应数据中返回一个值,但 JDBC 请求 2 的结果为空(返回的值只是日期值列)。

我自己运行了 JDBC 请求 2,它生成了空白结果,正如人们在思考后所期望的那样 - 让我相信我没有成功地从 JDBC 请求传递 $appid 值1 到 JDBC 请求 2 成功。

谁能告诉我我做错了什么?或者也许是另一种将值从一个 JDBC 请求传递到另一个的方法?

我环顾四周,发现了有关将值从 JDBC 传递到 HTTP 请求的帖子,还发现了一些非常有用的帖子(让我走到了这一步),但没有什么完全适合我需要的场景。

再次,与我的所有帖子一样,我感谢所有建议/帮助等。

干杯

【问题讨论】:

【参考方案1】:

很抱歉浪费了大家的时间。我发现了问题。

ParameterValue 值不正确。该值必须是 $appid_1(注意“下划线 1”(“_1”)值。

将 $appid 更改为 $appid_1 后,第二个 JDBC 请求的结果就被正确填充了。

【讨论】:

以上是关于JMeter - 将值从第一个 JDBC 请求传递到第二个 JDBC 请求的主要内容,如果未能解决你的问题,请参考以下文章

通过 AsyncTask 将值从第一个活动传递到第三个活动

将值从第一个下拉列表提交到第二个下拉列表而不重新加载页面

通过 Laravel 中的 AJAX 发布请求将值从一个视图传递到另一个视图

如何将值从一个活动传递到上一个活动

axios 调用从第一个 api 获取响应并传递到第二个 api

将值从 c# 传递到 actionscript 3 和跨域问题