Синтаксическая ошибка при вызове хранимой процедуры DB2 через JMeter

Я пытаюсь вызвать хранимую процедуру DB2, которая имеет два входных параметра (метка времени, оба) и один выходной параметр (целое число). Я пытаюсь сделать это из JMeter JDBC Sampler и получаю исключение синтаксиса sql.

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 я установил ниже значения для полей образца.

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

Кто-нибудь может понять, где я делаю ошибку? Большое спасибо.


person Ravi Amlani    schedule 19.10.2016    source источник
comment
Моим первым предположением о причине было бы имя схемы в смешанном регистре; попробуйте DEVSCHEMA вместо devSchema.   -  person mustaccio    schedule 19.10.2016
comment
@mustaccio Нет, это просто любое имя, которое я указал, потому что фактическое имя схемы было слишком длинным, и это только в верхнем регистре. В любом случае, я только что отредактировал вопрос.   -  person Ravi Amlani    schedule 20.10.2016


Ответы (1)


Проблема была решена. Это было буквально что-то еще, о чем я никогда не думал. Когда я получил ту же ошибку при попытке получить доступ к тому же SP с помощью кода Java, я связался с командой DB2, которая написала хранимую процедуру. И проблема была с SP. По их словам, execute был предоставлен доступ, поэтому после сверления здесь и там они предпочли создать новый SP, который работал без проблем. В остальном все было идеально со стороны JMeter.

person Ravi Amlani    schedule 24.10.2016