Я пытаюсь вызвать хранимую процедуру DB2, которая имеет два входных параметра (временная метка, оба) и один параметр вывода (целое число). Я пытаюсь сделать это из JMeter JDBC Sampler и получить исключение синтаксиса sql.Ошибка синтаксиса при вызове хранимой процедуры DB2 через JMeter
Response code: 42884 -440
Response message: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-440, SQLSTATE=42884, SQLERRMC=PROCEDURE;DEVSCHEMA.GET_ROW_COUNT, DRIVER=4.19.26
Response headers:
1272084586, URL=jdbc:db2://<db2IP>:<port>/DB2T, UserName=<someUserName>, IBM Data Server Driver for JDBC and SQLJ
От IBM документации я должен знать, что эта ошибка происходит, когда либо хранимая процедура нет - что это не так, имени схемы неправильно - что тоже не так, несовпадающего число параметров - Я проверил это, но я сомневаюсь в этом, потому что JMeter предоставляет отдельные поля для заполнения, и в одном из полей я могу передавать неправильное значение.
У меня мало знаний о JMeter, но с помощью документации apache JMeter Я установил значения ниже в поле Sample Fields.
Query Type: Callable Statement
Query: CALL DEVSCHEMA.GET_ROW_COUNT(?,?,?)
Parameter Values: ${__time(yyyy-MM-dd HH:mm:ss,)},${__time(yyyy-MM-dd HH:mm:ss,)},0
Parameter Types: IN TIMESTAMP,IN TIMESTAMP,OUT INTEGER
Variable Names:VARCOUNT
Handle ResultSet: Store as a String
Может кто-нибудь, пожалуйста, выяснить, где я делаю ошибку? Большое спасибо.
Мое первое предположение о причине было бы именем схемы смешанного случая; попробуйте 'DEVSCHEMA' вместо' devSchema'. – mustaccio
@mustaccio Нет, это просто любое имя, которое я поставил, потому что фактическое имя схемы было слишком длинным, и это только в верхнем случае. В любом случае, я просто отредактировал вопрос. –