我需要使用 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 个。
有什么建议可以让它发挥作用吗?
如果出现语法错误,您应该从数据库获取相关的 SQL 消息。
带参数调用存储过程的演示: