Я использую 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
требует сброса соединения?Я что-то здесь упускаю?