Jmeter问题JDBC请求和变量

时间:2011-07-26 18:31:35

标签: postgresql variables jdbc jmeter

我在使用Jmeter和存储/使用它们的变量方面遇到了一些问题:

  1. 我有一个JDBC请求,它使用以下sql执行非常简单的“select语句”:

    select count(member_id) from member
    
  2. 然后将其存储在名为count的变量中。我知道计数应该是多少(应该是312),但是count_1得到的值是40077.更令人不安的是,它开始工作并获得正确的计数。知道发生了什么事吗?

    1. 在单独的JDBC请求中,我检索成员列表:

      select member_id from members 
      
    2. 这存储在名为members的变量中。然后我创建了一个第三个JDBC请求来查询并获取一个随机成员:

      select * from members where member_id = ? 
      

      在“参数值”中,我输入了${__V(member_${__Random(1,10)})}(注意我放了10,而不是$ count,因为我甚至无法使用硬编码的数字来正常工作)。我看到这被正确解析,但我得到的错误是:

      org.postgresql.util.PSQLException: ERROR: invalid input syntax for integer: "member_7" 
      

      所以它不会取代member_7变量的值。相反,它只是传递字符串。我在这做错了什么?

1 个答案:

答案 0 :(得分:1)

如果您有表成员,那么您以这种方式拥有某个member_id(例如):

| member_id |
+-----------+
| 1         |
| 2         |
| 1         |

并且您想从此表中计算UNIQUE成员,您必须以这种方式使用SELECT:

SELECT COUNT(DISTINCT member_id) FROM member;

当您错过关键字DISTINCT时,表格中只会有COUNT行。

你必须以类似的方式使用第二个SELECT:

SELECT DISTINCT member_id FROM member;

最后一个问题是,为什么你试图将整数值赋值为'member_7'?