테스트케이스 클래스에 @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를 제어하는 경우에 생기는 문제였다. 

그때그때 달라요!!! 뭐냐!!
 
Eclipse Galileo 에 Spring IDE 설치를 기준으로 한다.

1. Help -> Install New Software 를 클릭한다.

2. Install 팝업창에서 오른편에 있는 Add를 클릭한다.

3. Name 에 적당한 이름(나는 Spring IDE)을 입력하고, Location 에는
를 입력한다.


4. OK를 클릭한다.

5. 잠시 후 지정된 경로에서 인스톨 정보를 불러와 화면에 보여준다.
보여지는 정보에서 Core 와 Extensions 두 가지만 체크를 하고 Next를 누르고, 과정을 진행하면 설치가 완료된다.


6. 설치가 진행된 후에 이클립스를 다시한번 실행시키고 나면 된다.


7. 정상적으로 설치가 이루어지면, 프로젝트 창 부분에서 새로운 프로젝트를 생성하려고 하면 위 그림과 같은 내용을 확인하여 볼 수 있다.


+ Recent posts