Что означает ошибка Oracle ORA-17432: недопустимые параметры во всех7?

Я получил следующее SQLException: «недопустимые параметры во всех7»

При поиске сообщения об ошибке ЕДИНСТВЕННЫМИ попаданиями, которые я увидел, были списки ошибок Oracle, которые точно указывали на ошибку в "ORA-17432: недопустимые параметры во всех7". К сожалению, гугление ошибки # выдало только комбинированные списки без объяснения ошибки, за исключением эта страница, на которой в качестве полного объяснения указано "Сообщение об ошибке TTC".

Ошибка возникает, когда программа на Java извлекает данные из вызова подготовленного оператора, выполняющего процедуру, которая возвращает довольно большое, но разумное количество строк через курсор.

Я могу добавить трассировку стека из исключения, а также сжатый код, но я предполагаю, что это не очень важно для выяснения того, что означает «ORA-17432: недопустимые параметры во всех7».

Контекст:

Ошибка появилась, когда программа Java была перенесена с Oracle 9 OCI на тонкий клиент Oracle 10.2. Процедура, запущенная непосредственно с базой данных (через Toad), работает отлично и возвращает правильный курсор с правильными данными и без ошибок.

Кажется, это что-то конкретное для данных (может быть, размер набора результатов?), Поскольку запуск того же точного кода для другой валюты в качестве параметра процедуры (который возвращает гораздо меньший набор результатов) работает на 100% нормально.


person DVK    schedule 11.10.2009    source источник
comment
На Металинк тоже ничего толкового по этому поводу не нашел....   -  person Rob van Laarhoven    schedule 11.10.2009
comment
Опубликуйте запрос и как вы его вызываете через JDBC.   -  person OMG Ponies    schedule 12.10.2009
comment
TTC, по-видимому, связан с преобразованием набора символов или типа при обмене данными между клиентом и сервером: download.oracle.com/docs/cd/B28359_01/network.111/b28316/ и download.oracle.com/docs/cd/B28359_01/java.111/b31224/   -  person Juergen Hartelt    schedule 12.10.2009


Ответы (2)


Это почти наверняка не то, что вы собираетесь контролировать. Похоже, проблема в том, как ваш тонкий драйвер использует двухзадачный общий протокол (TTC). Следует отметить, что такие вещи могут быть очень чувствительны к версии используемого вами драйвера. Убедитесь, что у вас установлена ​​последняя версия драйвера JDBC для комбинации версии Java, которую вы используете, и версии Oracle на сервере.

person Alohci    schedule 12.10.2009

Akohchi - вы были в правильном месте, хотя и не совсем правильно. Объяснение, полученное по звонку в службу поддержки Oracle, заключалось в том, что эта версия Java (1.3) несовместима с новым Oracle. Java 1.4 исправила проблему.

person DVK    schedule 27.10.2009