Here is my prepare SELECT statement: ---- [Prepared Select Statement] SELECT ('EmailAddress=' + CAST(EmailAddress AS VARCHAR)) as a1 from StoreShop.Trainers WHERE EmailAddress=?+'@'+? ---- with: Parameter values: ${ID},${EMAIL-GROUP} Parameter types: VARCHAR,VARCHAR Here is a bulk of data and how JDBC sample is responding for them: 1) {"",""}(two empty strings - not null) AR: the sample is failing: Response message: java.sql.SQLException: number of arguments (0) and number of types (2) are not equal ER: Response data: {"a1"} - data are not found but "a1" is a column name - not java-exception error; 2) {"aaa6",""} - the second parameter is empty string AR: the sample is failing: Response message: java.sql.SQLException: number of arguments (1) and number of types (2) are not equal ER: Response data: {"a1"} - data are not found but "a1" is a column name - not java-exception error; 3) {"","bluerealm.com"} - the first parameter is empty string AR: Response data: {"a1"} as expected - data not found but "a1" in a column name; So, JDBC sample is working inconsistency in three similar cases. My expectation is that in the cases #1 test-results are same as in the #3.
Same routine is used to parse the parameters as in CSV Dataset when quoted strings are allowed, thus the last parameter(s) are dropped. *** This bug has been marked as a duplicate of bug 46491 ***
This issue has been migrated to GitHub: https://github.com/apache/jmeter/issues/2197