DB

IBatis Altibase 사용시 'Invalid use of host variables' 에러

Edward. K 2011. 10. 12. 17:01
반응형

알티베이스를 사용중인데  다음과 같은 요상한(?-왜,왜..왜?? -)  에러가 발생했다.
  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  


해결책을 찾은 사이트 정보

 



 

반응형