Что-то не так с вашим словарем данных. edit: вы находитесь в БД 10g, я предполагаю, что object_id отсутствует в представлении всех аргументов. Когда мы собираемся выполнить хранимую процедуру, мы запрашиваем у базы данных некоторую информацию о вашем коде.
SELECT data_type, argument_name name
FROM all_arguments a, all_objects o
WHERE a.object_id=o.object_id
AND o.object_name=? and o.owner=? and a.package_name is NULL
order by position
Ошибка о недействительном object_id - это исходит из этого запроса. Какую версию Oracle Database вы используете? Можете ли вы увидеть свой объект PL / SQL в ALL_OBJECTS и показать ли ваши аргументы в ALL_ARGUMENTS?
Я взял ваш код и изменил его для таблицы HR.EMPLOYEES.
Работает как положено.
Мы запускаем некоторый код, чтобы показать вам два параметра.
Я ввел значение '101' для номера или идентификатора сотрудника и нажал OK.
Тогда параметр OUT отображается ниже на панели «Журнал».
Если вы откроете панель журнала (просмотр -> журнал), вы также увидите страницу «Заявления». Именно там вы можете увидеть ВСЕ код, который мы выполняем в базе данных. Вот где я пошел, чтобы получить SQL, который не работает для вас на OBJECT_ID. Посмотрите на это, иди код и подтвердите, что не работает.
Чтобы это исправить, найдите OLD копию SQLDev, которая поддерживает 10g ... как, возможно, 2.1, ИЛИ обновите вашу БД до версии не ниже 11.2.0.4.