2016-10-19 4 views
0

두 개의 입력 매개 변수 (Timestamp, 둘 다)와 하나의 출력 매개 변수 (정수)가있는 DB2 저장 프로 시저를 호출하려고합니다. 나는 JMeter JDBC Sampler에서 SQL 구문 예외를 얻으려고하고있다. 매개 변수의 수를 일치하지, 또한 사실이 아니다 - - 경우, 잘못된 스키마 이름이 아닙니다 인 -JMeter를 통해 DB2 저장 프로 시저를 호출하는 중 구문 오류

IBM 문서에서
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 

저장 프로 시저 중 하나가 존재하지 않을 때이 오류가 발생하는 것을 알고있어 내가 확인 그러나 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 

누구든지 실수를 저지르는 사람이 있습니까? 많은 감사합니다.

+0

내 첫 번째 추측은 대소 문자가 혼합 된 스키마 이름입니다. 'devSchema' 대신에'DEVSCHEMA'를 시도하십시오. – mustaccio

+0

@mustaccio 실제 스키마 이름이 너무 길고 대문자 만 사용했기 때문에 그 이름을 입력하지 않아도됩니다. 어쨌든 나는 방금 질문도 편집했다. –

답변

0

문제가 해결되었습니다. 그것은 내가 결코 생각을 한 적이없는 말 그대로 다른 것입니다. Java 코드를 사용하여 동일한 SP에 액세스하려고 할 때 동일한 오류가 발생했을 때 Stored 절차를 작성한 DB2 팀에 연락했습니다. 그리고 문제는 SP와있었습니다. 그들에 따르면 execute 여기 저기 굴착 한 이후에 아무런 문제없이 일했던 새로운 SP를 만드는 것이 더 좋았습니다. 다른 모든 것은 JMeter 측에서 완벽했습니다.

관련 문제