Jmeter为SQL查询返回“语句未返回结果集”

时间:2019-01-20 00:05:31

标签: jmeter

我有下面的SQL Query,它在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语句”

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

根据JMeter文档:

  

JDBC请求

     

通过此采样器,您可以将JDBC请求( SQL查询)发送到数据库。

在您的情况下,可能无法一次执行多个不同性质的查询。因此,这些选项位于:

  1. 将语句拆分为单独的查询,以便JDBC请求采样器仅执行单个查询
  2. 将查询转换为Stored Procedure并使用Callable Statement进行执行
  3. 使用BEGIN and END statements指定逻辑块
  4. 移至JSR223 Sampler并在Groovy language中编写查询(不过,您仍然必须按照第1点的建议进行拆分,并使用execute()函数处理不产生的零件结果,executeQuery用于执行操作的部分。