Jmeter返回';该语句未返回结果集';对于SQL查询

Jmeter返回';该语句未返回结果集';对于SQL查询,jmeter,Jmeter,下面是SQL查询,它在SQL Server中运行良好,但在JMETER中执行时显示错误 declare @LogSpace table (DatabaseName varchar(255), [Log Size (MB)] float, [Log Space Used (%)] float, [Status] int) insert into @LogSpace execute('dbcc sqlperf(''LogSpace'')') select cast(round([Log Space

下面是SQL查询,它在SQL Server中运行良好,但在JMETER中执行时显示错误

declare @LogSpace table (DatabaseName varchar(255), [Log Size (MB)] float, [Log Space Used (%)] float, [Status] int) insert into @LogSpace execute('dbcc sqlperf(''LogSpace'')')  select cast(round([Log Space Used (%)],2,0) as decimal(18,2)) from @LogSpace where DatabaseName = 'PUB_SUB_E2E';
错误:响应消息: com.microsoft.sqlserver.jdbc.SQLServerException:语句没有 返回一个结果集

我使用JDBC请求查询类型作为“SELECT语句”


如有任何帮助,将不胜感激。

根据JMeter文档:

JDBC请求

此采样器允许您向数据库发送JDBC请求(SQL查询)

在您的情况下,有多个不同性质的查询不能在一次快照中执行。因此,选项包括:

  • 将语句拆分为单独的查询,以便JDBC请求采样器只执行单个查询
  • 将查询转换为可调用语句,并使用
    可调用语句执行它
  • 用于指定逻辑块
  • 移动到并在中写入查询(但是,您仍然必须按照第1点中的建议进行拆分,并对不产生结果的部分和产生结果的部分使用函数)

  • 是的,这非常好。我刚刚创建了一个存储过程,并使用Callable语句执行它。谢谢Dmitri的回答。