У меня возникла проблема вызова хранимой процедуры из OSB 11g через адаптер JCA. Ошибки я получаю:Сохраненный захват Proc ORA-06502: PL/SQL: числовая или значение ошибки
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at line 1
Ошибка короче, как это без какого-либо позади добавления записей описания ошибки. Это происходит только в рабочей среде, и нет проблем, когда я указываю базу данных на UAT. Более удивительно, что он будет работать в производственной среде, если одна из переменных, которые я передаю, составляет менее 128 символов. (иначе я удалю ошибку выше). Тип хранимой процедуры и длина определены правильно. имея столбец таблицы, способный справляться с 4000 символами.
Оба Oracle 9i DB используют одну и ту же основную модификацию модификации. Сохраненная процедура находится в пакете. Я извлек и сравнил хранимую процедуру из среды БД с помощью winmerge, и это показывает, что они зеркально отражают друг друга.
Выполнение хранимой процедуры вручную в рабочей среде обеспечивает, что я объявляю достаточно большой размер varchar. Мне удалось имитировать ошибку ORA-06502
, объявив размер переменной меньше длины данных, в которой я прохожу.
Я даже зашел так далеко, как захватил сетевой дамп из обоих исполнений, и обнаружил, что есть небольшие отличия. (Примечание: я повторно использую один и тот же источник данных и только изменяю ip и имя пользователя в WLS и делал перезагрузку перед каждым исполнением)
Когда я указываю на производственную среду (у 1 есть проблемы), tcpdump выглядит примерно так: :
BEGIN packagename.stored_proc_name(V_value1=>:1 , v_value2=>:2, v_value3=>:3); END .... {variable1}... {variable2}... {variable3})
Когда я указываю на окружающую среду UAT (успешный 1), свалка выглядит короче и без BEGIN; END
тега
.... {variable1}... {variable2}... {variable3})
Что еще могло бы пошло не так? Цените для любых помогает!
Я не контролирую, как выполняется хранимая процедура, она завершается под Oracle JCA DB Adapter. Я уверен, что сопоставления JCA/WSDL/XSD соответствуют обоим средам. Данные испытаний не имеют большого значения.как я сказал, это работает, когда я передаю менее 128 символов для столбца описания. –