Mybatis 오라클 프로시저 (Oracle Stored Procedure) 호출시, ‘java.sql.SQLException: 해당 위치에 지원되지 않는 SQL92 토큰: 1:’ 오류 발생 케이스.

By | 8월 20, 2021

이 케이스는 그야말로 황당 그 자체!

결론부터 말하면 mybatis xml 에서,

중괄호와 소괄호를 다른 라인에 위치시켜서 발생

한 문제이다.

그것도 같은 프레임워크에서 돌리는 MariaDB 프로시저 호출시는 문제가 없는데, '오라클 프로시저 호출시에만' 이 문제가 발생했다.
전혀 예상 못하고 헤멜뻔 했는데, 인터넷에 또 선구자가 계셔서 해결할 수 있었다.

  • 잘못된 예

    {
    CALL PKG_A.PROC_TEST(
        #{rsltcode, mode=OUT, jdbcType=VARCHAR},
        #{rsltmsg, mode=OUT, jdbcType=VARCHAR},
        #{cust_nm},
        #{reg_num}
    )
    }
  • 바른 예

    { CALL PKG_A.PROC_TEST(
        #{rsltcode, mode=OUT, jdbcType=VARCHAR},
        #{rsltmsg, mode=OUT, jdbcType=VARCHAR},
        #{cust_nm},
        #{reg_num}
    ) }
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments