我在JMeter 2.13中使用JDBC sampler.
我的JMeter采样器中有大约100个删除语句,如下所示:
delete from abc where id >= ${Variable_Name}; delete from qwe where id >= ${Variable_Name}; delete from xyz where id >= ${Variable_Name};
问题是,当我在JDBC sampler中运行单个语句时,它工作正常.但是,当我尝试从我的JDBC采样器运行2个或2个以上的语句时.它总是抛出错误.
您的SQL语法有错误; 检查与您的MySQL服务器版本相对应的手册,以便在'从qwe删除id> = 1附近使用正确的语法;
有人可以提一下解决方法吗?以及如何克服这个问题.
看来你不能在一个JDBC Request
元素中执行多个语句.
我有类似的情况,我需要在继续其余的测试之前在数据库上执行一些清理语句.我能够通过在一个单独的CSV Data Set Config
嵌套中使用嵌套的外部文件读取SQL语句来实现这一点.Loop Controller
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}
.
当到达文件结尾时,setUp Thread Group
将停止并且核心测试Thread Group
将继续.