2011-07-26 9 views
3

私は彼らからの変数を使用して/ JMeterの持ついくつかの問題を抱えて格納しています:JDBCリクエストと変数とJMeterの問題

  1. 私は非常に単純な「SELECT文」を行いJDBC要求を持っていますSQL以下:

    select count(member_id) from member 
    

これは、その後、カウントという名前の変数に格納されています。私はカウントが何であるべきかを知っている(312でなければならない)が、count_1の値は40077になる。さらに厄介なことは、ある時点で働き始め、正しいカウントを得ることである。何が起こっているか考えてみませんか?別々のJDBC要求で

  1. 、私はメンバーのリストを取得:

    select member_id from members 
    

これは、メンバーという名前の変数に格納されます。私は、私もそれを得ることができないので、私は10を入れて注意し、$カウントされませ(${__V(member_${__Random(1,10)})}に入れて、「パラメータ値」で

select * from members where member_id = ? 

:それから私は、ランダムなメンバーを照会し、つかむためにTHIRD JDBC要求を作成しましたハードコーディングされた番号で正しく動作します)。私は、これは正しく解析されることを参照して、私は取得エラーです:

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

だから、member_7変数の値を代入していません。代わりに、文字列を渡すだけです。私はここで間違って何をしていますか?

+0

「メンバーからSelect member_idを実行する」JDBCリクエストは、その値をメンバー変数に格納しています。 Jmeterは、結果の数を保持するmember_#変数を作成し、次にmember_1、member_2(クエリから返されたメンバーの数だけ)を作成します。私は毎回同じものを選びたくないので、メンバーのあとにランダムな数字を追加してランダムに結果の1つを選択したいのです_ – derekmw

+0

だから、誰かからの提案にしたがって、ランダム変数コントロールを使ってみました。これにより、乱数が生成され、その前にテキストがプリペンドされます。これは、 "member_" +乱数が必要な私の場合に最適です。私が持っている唯一の問題は、最小値と最大値が数字だけを受け入れるようだということです。私は$ {count_1}変数をここに入れて、データベース内のメンバーの数を制限するようにしましたが、それはうまくいかないようです。最小/最大フィールドに変数を指定する方法はありますか? – derekmw

答えて

1

あなたは(たとえば)このように、いくつかのMEMBER_IDを持つテーブルのメンバー、持っている場合:

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

をそして、あなたは、あなたがこの方法でSELECTを使用する必要があり、この表からUNIQUEメンバーをカウントしたいと思います:

SELECT COUNT(DISTINCT member_id) FROM member; 

キーワードDISTINCTを忘れた場合は、テーブル内の行の数だけが取得されます。

秒あなたは同様の方法で使用する必要があります。SELECT:

SELECT DISTINCT member_id FROM member; 

そして、あなたが整数しようとした理由は、値が「member_7」のような値を代入している最後の質問?