如何通过 JMeter 中的 JDBC 采样器 运行 多个 MySQL 语句
How to run multiple MySQL statements via JDBC sampler in JMeter
我在 JMeter 2.13 中使用 JDBC 采样器。
我的 JMeter 采样器中有大约 100 个删除语句,如下所示:
delete from abc where id >= ${Variable_Name};
delete from qwe where id >= ${Variable_Name};
delete from xyz where id >= ${Variable_Name};
问题是当我 运行 在 JDBC 采样器中的单个语句时,它工作正常。但是每当我尝试从我的 JDBC 采样器中 运行 2 个或超过 2 个语句时。它总是抛出错误。
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delete from qwe where id >= 1;
有人可以提出解决方法吗?以及我该如何克服这个问题。
您似乎无法在单个 JDBC Request
元素中执行多个语句。
我遇到过类似的情况,我需要在继续进行其余测试之前对数据库执行一些清理语句。我能够通过使用嵌套在 Loop Controller
[ 中的 CSV Data Set Config
从外部文件读取 SQL 语句来实现这一点=64=], 在单独的 setUp Thread Group
.
元素是这样放置的:
并且我使用了以下配置:
循环控制器
- 循环次数:
Forever
CSV 数据集配置
- 文件名:
/path/to/multiple-statements.sql
- 变量名:
STMT
- 回收 EOF:
False
- 在 EOF 处停止线程:
True
JDBC请求
- 查询:
${STMT}
Loop Controller
永远设置为运行,因为CSV Data Set Config
设置了停止条件。每次迭代将读取文件的一行,设置变量 STMT
,然后 JDBC Request
将执行查询 ${STMT}
.
当达到end-of-file时,setUp Thread Group
将停止,核心测试Thread Group
将继续。
我在 JMeter 2.13 中使用 JDBC 采样器。
我的 JMeter 采样器中有大约 100 个删除语句,如下所示:
delete from abc where id >= ${Variable_Name};
delete from qwe where id >= ${Variable_Name};
delete from xyz where id >= ${Variable_Name};
问题是当我 运行 在 JDBC 采样器中的单个语句时,它工作正常。但是每当我尝试从我的 JDBC 采样器中 运行 2 个或超过 2 个语句时。它总是抛出错误。
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delete from qwe where id >= 1;
有人可以提出解决方法吗?以及我该如何克服这个问题。
您似乎无法在单个 JDBC Request
元素中执行多个语句。
我遇到过类似的情况,我需要在继续进行其余测试之前对数据库执行一些清理语句。我能够通过使用嵌套在 Loop Controller
[ 中的 CSV Data Set Config
从外部文件读取 SQL 语句来实现这一点=64=], 在单独的 setUp Thread Group
.
元素是这样放置的:
并且我使用了以下配置:
循环控制器
- 循环次数:
Forever
CSV 数据集配置
- 文件名:
/path/to/multiple-statements.sql
- 变量名:
STMT
- 回收 EOF:
False
- 在 EOF 处停止线程:
True
JDBC请求
- 查询:
${STMT}
Loop Controller
永远设置为运行,因为CSV Data Set Config
设置了停止条件。每次迭代将读取文件的一行,设置变量 STMT
,然后 JDBC Request
将执行查询 ${STMT}
.
当达到end-of-file时,setUp Thread Group
将停止,核心测试Thread Group
将继续。