자바 MySQL연동오류
오미자
연동이 잘 되다가도 한 번씩 오류를 토해내는데 그 이유를 모르겠습니다.
문제는 conn.setAutoCommit(false) 구문에서 나는듯 한데... 테이블을 innoDB로 바꾸려해도 안 바뀌더군요...
에러코드는 다음과 같습니다.
Select 때려서 정보 ResultSet으로 받고 둘다 finally에서 닫아 줬는데 문제가 어디서 어찌 일어났는지 파악을 못합니다.
DB상 오류인지, 코드오류인지 갑갑하네요 ㅠㅠ** BEGIN NESTED EXCEPTION **
com.mysql.jdbc.CommunicationsException
MESSAGE: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.io.EOFException
STACKTRACE:
java.io.EOFException
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1905)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2351)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2862)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1571)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1666)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2988)
at com.mysql.jdbc.Connection.setAutoCommit(Connection.java:4913)
at com.bitmechanic.sql.PooledConnection.setAutoCommit(PooledConnection.j
ava:401)
at kr.co.nedex.UserData.procUserData(UserData.java:173) 이부분이AutoCommit(false)부분입니다.
at kr.co.nedex.Express.procUserData(Express.java:350)
at kr.co.nedex.Express.run(Express.java:122)
** END NESTED EXCEPTION **
Last packet sent to the server was 0 ms ago.
STACKTRACE:
com.mysql.jdbc.CommunicationsException: Communications link failure due to under
lying exception:
-
한별
모든 자원은 해제를 했고요. 문제가 되는게 MySQL innoDB를 안하면 트랜젝션문제가 있다고 하는데 이거때문인지 아니면 conn.setAutoCommit(false)를 할 때 빌려다 쓰는 ConnectionPool때문인지 아니면 연동되는 부분에서의 문제인지 확실한 문제 발생원인을 모르겠습니다 -_-;;
-
접시
EOFException이 발생하는 이유는 사용한 자원을 해제 시키지 않아서 나오는 에러입니다.
각종 스트림은 사용한뒤에 반드시 close 해주셔야 합니다.
- 네이버 지식인에 있던데 한번해보세요 ㅎㅎ