2016-10-19 2 views
0

Я пытаюсь вызвать хранимую процедуру 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 

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

+0

Мое первое предположение о причине было бы именем схемы смешанного случая; попробуйте 'DEVSCHEMA' вместо' devSchema'. – mustaccio

+0

@mustaccio Нет, это просто любое имя, которое я поставил, потому что фактическое имя схемы было слишком длинным, и это только в верхнем случае. В любом случае, я просто отредактировал вопрос. –

ответ

0

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

Смежные вопросы