Получение java.sql.SQLException: JZ006 JZ0C0: соединение уже закрыто во время пакетной вставки в Sybase - PullRequest
0 голосов
/ 18 сентября 2018

Я использую Spring jdbc для пакетной вставки 1,5 миллиона записей в таблицу Sybase.Я использую JdbcTemplate.batchUpdate с размером пакета 5000. Драйвер является jconn4.jar.После 10 минут работы я получаю следующее исключение.В логах Sybase ошибок нет.Кажется, есть какое-то время ожидания клиента?Обновление драйвера невозможно.

Caused by: java.sql.SQLException: JZ006: Caught IOException: com.sybase.jdbc4.jdbc.SybConnectionDeadException: JZ0C0: Connection is already closed.
    at com.sybase.jdbc4.jdbc.ErrorMessage.createIOEKilledConnEx(ErrorMessage.java:1090)
    at com.sybase.jdbc4.jdbc.ErrorMessage.raiseErrorCheckDead(ErrorMessage.java:1131)
    at com.sybase.jdbc4.tds.Tds.handleIOE(Tds.java:5219)
    at com.sybase.jdbc4.tds.Tds.handleIOE(Tds.java:5164)
    at com.sybase.jdbc4.tds.Tds.cancel(Tds.java:2405)
    at com.sybase.jdbc4.tds.Tds.cancel(Tds.java:2329)
    at com.sybase.jdbc4.jdbc.SybStatement.doCancel(SybStatement.java:1025)
    at com.sybase.jdbc4.jdbc.SybStatement.batchLoop(SybStatement.java:2349)
    at com.sybase.jdbc4.jdbc.SybStatement.sendBatch(SybStatement.java:2157)
    at com.sybase.jdbc4.jdbc.SybStatement.executeBatch(SybStatement.java:2115)
    at com.sybase.jdbc4.jdbc.SybStatement.executeBatch(SybStatement.java:2033)
    at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeBatch(SybPreparedStatement.java:2069)
    at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:294)
    at org.springframework.jdbc.core.JdbcTemplate$5.doInPreparedStatement(JdbcTemplate.java:1038)
    at org.springframework.jdbc.core.JdbcTemplate$5.doInPreparedStatement(JdbcTemplate.java:1016)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:639)
...