JDBC - Oracle ArrayIndexOutOfBoundsException

Надеюсь, эта статья поможет вам.

Настройка среды реагирования для ASP.NET MVC

https://dev.to/dance2die/setting-up-a-react-environment-for-aspnet-mvc-44la [ 110]

14
задан Vinko Vrsalovic 10 November 2008 в 12:26
поделиться

5 ответов

В Метассылке Oracle (сайт поддержки Oracle - идентификатор 736273.1 Примечания) я нашел, что это - ошибка в адаптере JDBC (версия 10.2.0.0.0 к 11.1.0.7.0), что при вызове preparedStatement больше чем с 7 позиционными параметрами затем, JDBC бросит эту ошибку.

, Если у Вас есть доступ к Метассылке Oracle затем, одна опция состоит в том, чтобы пойти туда, и загрузка упомянула патч.

другим решением является обходное решение - использование, названное параметрами вместо позиционных параметров:

INSERT INTO rule_definitions(RULE_DEFINITION_SYS,rule_definition_type,
rule_name,rule_text,rule_comment,rule_message,rule_condition,rule_active,
rule_type,current_value,last_modified_by,last_modified_dttm,
rule_category_sys,recheck_unit,recheck_period,trackable)
VALUES(RULE_DEFINITIONS_SEQ.NEXTVAL,:rule_definition_type,
:rule_name,:rule_text,:rule_comment,:rule_message,:rule_condition,:rule_active,
:rule_type,:current_value,:last_modified_by,:last_modified_dttm,
:rule_category_sys,:recheck_unit,:recheck_period,:trackable)

и затем используют

preparedStatement.setStringAtName("rule_definition_type", ...)

и т.д. для установки названный, связывают переменные для этого запроса.

26
ответ дан 1 December 2019 в 10:05
поделиться

Не видя код, единственная вещь, о которой я могу думать, состоит в том, чтобы проверить, что к каждому соединению получают доступ ориентированным на многопотоковое исполнение способом. Драйверы Oracle обычно довольно тверды. Единственное время я видел странные внутренние ошибки как этот, - когда у Вас есть больше чем один поток, получающий доступ к тому же экземпляру соединения и делающий странный материал с ним. Они не ориентированы на многопотоковое исполнение, и должны быть сведены один на поток.

0
ответ дан 1 December 2019 в 10:05
поделиться

Похож Вы являетесь передающими в неправильном количестве параметров. Необходимо быть передающими в 15, но Вы или отправляете 16 или 14.

0
ответ дан 1 December 2019 в 10:05
поделиться

Да, если мой подсчет курсора мыши не выключен, Вы пытаетесь вставить 16 значений в 15 столбцов.

Попытка то же самое SQLPlus*, необходимо получить РТЫ 00913: слишком много значений

0
ответ дан 1 December 2019 в 10:05
поделиться

Вы создаете подготовленный оператор с 15 заполнителями, если я понимаю корректный. Таким образом, необходимо передать массив с 15 значениями параметров к вызову. Возможно, Вы пропустили один или добавили избыточный?

0
ответ дан 1 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: