Проблемы Jmeter с запросом JDBC и переменными - PullRequest
3 голосов
/ 26 июля 2011

У меня есть несколько проблем с Jmeter и хранением / использованием переменных из них:

  1. У меня есть запрос JDBC, который выполняет ОЧЕНЬ простое «предложение выбора» со следующим sql:

    select count(member_id) from member
    

Затем он сохраняется в переменной с именем count. Я знаю, каким должно быть количество (должно быть 312), но значение count_1 равно 40077. Что еще более тревожно, так это то, что в какой-то момент он начал работать и получать правильный счет. Есть идеи, что происходит?

  1. В отдельном запросе JDBC я получаю список членов:

    select member_id from members 
    

Это хранится в переменной с именем 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 Ответ

1 голос
/ 07 декабря 2011

Если у вас есть член таблицы, где у вас есть некоторый member_id таким образом (например):

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

И вы хотите посчитать УНИКАЛЬНЫХ членов из этой таблицы, вы должны использовать SELECT следующим образом:

SELECT COUNT(DISTINCT member_id) FROM member;

Если вы пропустите ключевое слово DISTINCT, вы получите только КОЛИЧЕСТВО строк в таблице.

Второй SELECT, который вы должны использовать аналогичным образом:

SELECT DISTINCT member_id FROM member;

И последний вопрос: почему вы пытались целочисленному значению присвоить значение типа 'member_7'?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...