테스트케이스 클래스에 @Trasactional 을 선언하여 트랜잭션을 자동으로 복구하려고 하는데
iBatis에 의해서 실행되는 프로시저 내부에 트랜잭션Trasaction이 걸려 있는 경우, 
 org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [ZZZZZ]; error code [7713];   
--- The error occurred in .....xml.  
--- The error occurred while applying a parameter map.  
--- Check the ...-InlineParameterMap.  
--- Check the statement (query failed).  
--- Cause: com.sybase.jdbc3.jdbc.SybSQLException: Stored procedure 'honeymon...runTransactionInProcedure' may be run only in unchained transaction mode. The 'SET CHAINED OFF' command will cause the current session to use unchained transaction mode.
; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred in .....xml.  
--- The error occurred while applying a parameter map.  
--- Check the ...-InlineParameterMap.  
--- Check the statement (query failed).  
--- Cause: com.sybase.jdbc3.jdbc.SybSQLException: Stored procedure 'honeymon...runTransactionInProcedure' may be run only in unchained transaction mode. The 'SET CHAINED OFF' command will cause the current session to use unchained transaction mode.
위와 같은 메시지가 나온다. trasaction mode를 사용해야 한다고 하는데, 그 명령을 실행하는 메소드 상부에
 @Transactional(propagation=Propagation.NOT_SUPPORTED)
  이것은 특수한 상황의 예이며, 또다른 경우가 나타난다고 한다.
위의 경우는, Sybase DB 를 사용하는 시스템에서 iBatis를 이용하여 DB를 제어하는 경우에 생기는 문제였다. 

그때그때 달라요!!! 뭐냐!!
 

+ Recent posts