【发布时间】:2017-07-25 16:29:30
【问题描述】:
我正在尝试使用 Jmeter 从我的数据库中删除一条记录,但遇到了一些困难。我可以很好地查询,但是当涉及到 DELETE 时,我得到了一个错误。我在我的 Jmeter 中输入以下代码:
delete from DATA_RECORDS where DATA_RECORDS_ID = (select id from DATA_RECORDS_STORE where RESOURCE_IDENTIFIER='somevalue');
delete from DATA_RECORDS_STORE where RESOURCE_IDENTIFIER='somevalue';
在 Jmeter 中运行测试后出现以下错误:
java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束
但是,当我在 SQLDeveloper 中输入相同的代码时,SQL 实际上会运行脚本并删除相应的数据。
查询类型设置为:更新语句,其余字段我什么都没有:参数值、参数类型、变量名称等。我还要提一下,我正在运行 Jmeter 3.2 GUI 模式。如果你能帮助我,那将不胜感激。谢谢!
【问题讨论】:
-
你能发布你的完整代码吗?
-
是否允许来自 jmeter 的多个 sql 语句?我知道的其他接口不允许它,并带有非常相似的错误消息(由于在第一个分号之后有多余的文本,即第二个语句)。使用 SQL Developer,这没有问题。
-
@SudiptaMondal 这是完整的代码。如果您查看 Jmeter JDBC Request Sampler,您会看到上面的代码进入了 SQL Query 文本区域。我复制并粘贴了它。我之前在执行 select 语句时遇到过这个错误,我通过将 '=' 更改为 'like' 来修复它,但它在这里不起作用。
-
@JonathanWillcock 我尝试只运行第二个删除语句以查看是否是问题所在,但它仍然给我同样的错误消息。它一定是非常小或微妙的东西。
-
第一条语句自己运行吗?
标签: sql database oracle jdbc jmeter