JDBC не видит изменений, которые выполняет запрос ALTER TYPE в Oracle - PullRequest
0 голосов
/ 27 июня 2019

Я использую object, созданный оператором CREATE TYPE SOME_OBJECT AS OBJECT.Для нового требования, длина одного из атрибутов должна быть обновлена ​​до 11 с 9.

Я выполнил этот запрос на изменение: ALTER TYPE SOME_OBJECT MODIFY ATTRIBUTE SOME_ATTRIBUTE VARCHAR2(11) CASCADE;

Теперь, когда я использую JDBCкод для обновленных значений, т. е. ввод с длиной 11, он выдает ошибку Length too long.

Я посмотрел документы Oracle.В примерах такого альтернативного запроса в документах говорится disconnect и connect снова.

Изначально я не обращал внимания на оператор disconnect.После многих испытаний, когда я не мог понять, почему он по-прежнему выдает ошибку Length too long.Я сбросил соединение с пулом JDBC, и оно заработало.

Я не понимаю, почему это особый случай?Этот пул соединений JDBC специфичен?У нас есть ALTER TABLE и множество других запросов, которые не требуют сброса соединения для кода JDBC, чтобы увидеть изменения.Почему этот самый ALTER требует сброса соединения?Я что-то здесь упускаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...