我在JMeter 2.13中使用JDBC采样器。
我在JMeter采样器中有大约100个delete语句,如下所示:
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个以上的语句时。它总是抛出错误。
SQL语法中有错误;检查与您的MySQL服务器版本对应的手册,以获得正确的语法来使用near 'delete from qwe where id >= 1;
有没有人能提出一个解决方案?以及如何克服这个问题。
1条答案
按热度按时间r1zhe5dt1#
似乎不能在一个**
JDBC Request
元素中执行多个语句。我也遇到过类似的情况,在继续进行其余测试之前,我需要在数据库上执行一些清理语句。我能够通过从外部文件阅读SQL语句来实现这一点,使用
CSV Data Set Config
嵌套在Loop Controller
中,在单独的setUp Thread Group
**中。这些元素是这样放置的:
我使用了以下配置:
循环控制器
Forever
CSV数据集配置
/path/to/multiple-statements.sql
STMT
False
True
JDBC请求
${STMT}
Loop Controller
被设置为永远运行,因为CSV Data Set Config
上设置了停止条件。每次迭代将读取文件的一行,设置变量STMT
,然后JDBC Request
将执行查询${STMT}
。当到达文件结束时,
setUp Thread Group
将停止,核心测试Thread Group
将继续。