在JMeter中调用带有命名参数的存储过程

问题描述 投票:0回答:1

我需要使用 JMeter 对 SQL Server 执行负载测试。我创建了一个线程组、JDBC 连接配置和 JDBC 请求。

首先,我尝试一个简单的存储过程(SP)调用,它基本上从数据库查询并返回数据

exec STORE_PROCEDURE_NAME 'val1'

但是我需要调用 SP 在数据库中插入值。我尝试了以下声明

exec STORE_PROCEDURE_NAME 'val1','val2','val3',val4,val5,@param6='val6'
exec DB_NAME.[dbo].[STORE_PROCEDURE_NAME ] 'val1','val2','val3',val4,val5,@param6='val6'
{call STORE_PROCEDURE_NAME (?,?,?,?,?,@param6=?)}
{call STORE_PROCEDURE_NAME (?,?,?,?,?,@param6=>?)}

其中 param6 是参数名称。运行其中任何一个后,JMeter 停留在 Thread Start 短语。

我想使用命名参数的原因是因为 SP 包含大约 20 多个参数,而只需要其中 6 个。

有什么建议可以让它发挥作用吗?

stored-procedures jdbc jmeter
1个回答
0
投票
  1. 如果 JMeter “卡住”,请检查 jmeter.log 是否有任何可疑条目
  2. 如果没有可疑条目 - 将 JMeter 日志记录详细程度提高到 DEBUG 级别
  3. 如果 JMeter “卡住”并且不生成任何日志 - 进行 thread dump 并查看导致“卡住”的原因

如果出现语法错误,您应该从数据库获取相关的 SQL 消息。

带参数调用存储过程的演示:

© www.soinside.com 2019 - 2024. All rights reserved.