<서론>
프로젝트 중 "java.sql.BatchUpdateException: 업데이트에 대한 결과 집합 이 생성되었습니다." 라는 오류 메시지가 콘솔창에 출력되었다.
처음 사용하는 프레임워크로 프로젝트를 진행하고 있기 때문에 프레임워크 문제인지도 많이 고민했었다.
혼자 고민해보고 이곳저곳 고쳐보다가 제발 있었으면 좋겠다 라는 심정으로 구글링한 결과, 해결책을 찾을 수 있었다.
역시 구글은 모든 걸 알고있다.
<본론>
1. sqljdbc4.jar 파일 문제
sqljdbc의 버전에 의해 문제가 발생할 수 있다는 글을 찾았다. 운영도 되고 있는 서비스라 sqljdbc 파일을 변경 후 검증가지 필요하므로 막무가내로 파일을 변경하기에는 조금 무리가 있어 최후의 수단으로 남겨두고 다른 방법을 찾았다.
2. 프로시저 내의 "NO COUNT ON"
프로시저의 "NO COUNT ON" 구문이 해당 문제를 야기한다는 글을 찾았다. 프로시저 마지막에서 리턴받을 데이터가 없는 처리용일 때는 해당 명령을 빼주면 오류가 발생하지 않는다고 한다.
일단 내 쿼리는 리턴값이 있었지만, 속는 셈 치고 해당 명령을 주석처리한 결과 오류는 해결되었다.
<결론>
엄밀히 말하면 완벽한 해결은 아니다. 위에 언급했듯이 내 프로시저에서는 리턴값이 있는 프로시저였음에도 위와 같은 오류가 발생했다. 정말 sqljdbc4.jar 파일 문제일 수도 있지만 아직 개발 초보라 NO COUNT ON이 정확히 어떤 명령어인지 파악하지 못했다.
NO COUNT ON 을 좀 더 공부해보고, 내 프로시저에 어떤 문제가 있었는지 분석한 다음 NO COUNT ON에 대한 정리글도 포스팅하겠다.
<참고자료>
'IT 공부 > 개발 관련' 카테고리의 다른 글
[DB] MSSQL에서 문자열 처리하기 (0) | 2020.01.06 |
---|---|
[Tomcat] Removing obsolete files from server… Could not clean server of obsolete files: 프롤로그에서는 콘텐츠가 허용되지 않습니다. (0) | 2019.05.27 |
[DB] Null 처리 (0) | 2019.05.23 |
[DB] MSSQL 컬럼으로 테이블 조회 (0) | 2019.05.08 |
[MSSQL] SET SELECT (0) | 2019.04.11 |