Не удалось закрыть соединение с базой данныхJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Не удалось закрыть соединение с базой данных

Сообщение Anonymous »

Я работаю над утилитой на основе Java, которая переносит некоторые значения столбцов из одной таблицы в другую. Моя первая таблица содержит столбец идентификаторов, значения которого имеют фиксированный тип (например, некоторые типы перечислений в Java, которые были вставлены ранее в первую таблицу).

Ниже приведены общие шаги, которые Я следую:
  • Получение нового подключения к базе данных и установка autocommit как ложного.
  • Выбор уникальный тип идентификаторов из первой таблицы.
  • Создание пула потоков для каждого уникального идентификатора. Отправляя задание миграции, я передаю одно и то же соединение с базой данных каждому потоку, полученному ранее.
  • Каждый поток переносит значения из первой таблицы во вторую таблицу и в конце каждый выполняет фиксация базы данных.
  • До этого времени мой основной поток ожидает Future.get().
  • Как только все потоки будут завершены, мой основной поток Я удаляю первую таблицу (выполняю явную фиксацию) и закрываю соединение.
Эта утилита поддерживается для Oracle, UDB и Базы данных ZOS и нормально работают для Oracle и UDB. Однако для баз данных ZOS при закрытии соединения с базой данных я получаю следующее исключение:

Код: Выделить всё

com.ibm.db2.jcc.a.SqlException: [jcc][t4][10251][10308][3.52.90] java.sql.Connection.close() requested while a transaction is in progress on the connection.
The transaction remains active, and the connection cannot be closed.
ERRORCODE=-4471, SQLSTATE=null

[*]Здесь, в моем основном потоке, я сначала удаляю таблицу, а затем закрываю соединение, делая это последовательно. . Тогда почему я получаю вышеуказанное исключение? Что я делаю неправильно?
[*]Нужно ли делать явную фиксацию для DROP, поскольку я устанавливаю для autocommit значение false?
< /ол>

Подробнее здесь: https://stackoverflow.com/questions/285 ... connection
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»