안녕하세요..
FreeTDS JDBC 를 이용해서 SQLServer 7.0 를 핸들링하는 프로그램을
만드는 중에 도저히 해결이 안 되는 문제가 발생했습니다.
트랜젝션이 이뤄져야만 하는 작업인데..
하나의 커넥션으로 우선 업데이트 -> 다시 셀렉트 -> 업데이트 -> 셀렉트 해서 값을
넘겨주는 작업입니다.
업데이트에서는 PreparedStatement 를 사용했는데,
업데이트를 마치고 셀렉트를 위해 Statement 객체를 하나 더 만들면
바로 DB 에 락이 걸립니다. 별 수 없이 PreparedStatement 를 close() 하고
만들면 열리는데, 이렇게 하니까 이 전에 실행했던 업데이트문의 효력이 사라지는군요..
(한 트랜젝션으로 안 잡힙니다..-.- 같은 커넥션인데..그러면서 롤백은 또 되더군요..헐)
하도 이상해서...DDEK 라고 돈주고 써야하는 JDBC 드라이버 평가판을
받아서 해보니까 아무 이상없이 잘 되는 겁니다. FreeTDS 드라이버의
자체문제인지...혹시 이런 문제로 고민하시다가 해결하신 분이 있으시면 조언 좀 부탁드립니다.
공짜 드라이버 쓰기 힘들군요..ㅠ.ㅠ |