IBatis Altibase 사용시 'Invalid use of host variables' 에러
알티베이스를 사용중인데 다음과 같은 요상한(?-왜,왜..왜?? -) 에러가 발생했다.
Invalid use of host variables
select GET_FUNC_NM(col10) COL_NM
, GET_FUNC_NM2(?) COL2_NM <-- Exception 발생
, col1, col2, col3, col4, col5, col6
from TB_TABLE
where col0 = ?
--- Check the SQL Statement (preparation failed).
--- Cause: java.sql.SQLException: [0]
:Invalid use of host variables
0003 : , GET_FUNC_NM2(?) FUNC2_NM
^ ^
원인은..알티베이스(버젼4)에서 "타겟 절에 호스트 변수 사용을 지원하지 않음"으로.
이 경우 해결책은 다음과 같이
ibatis dynamic SQL로 처리[1안] 하거나,
cast 로 처리[2안]하는 방법이 있다.
GET_FUNC_NM2(?) COL2_NM
-> [1안] <dynamic> GET_FUNC_NM2($colNm$) COL2_NM <dynamic>
-> [2안] GET_FUNC_NM2( cast(#colNm# as varchar(40))) COL2_NM
해결책을 찾은 사이트 정보