Callablestatement для процедуры Oracle

  • Автор темы Автор темы Guest
  • Дата начала Дата начала
G

Guest

мой statement
Код:
CallableStatement callst = connection
.prepareCall("begin P_AGNLIST_BASE_INSERT("
+ "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "
+ "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "
+ "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "
+ "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "
+ "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?" + "); end;");

всего 52 параметра
многие из них я устанавливаю, как null, например:
setNull(23, Types.NULL)
дату устанавливаю как
Date dDISCDATE = new Date(111111);
callst.setDate(37, dDISCDATE);
пробовала и через NULL
а последний выходной - callst.registerOutParameter(52, Types.FLOAT);
ошибка практически всегда:
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'P_AGNLIST_BASE_INSERT'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
в самом PL\SQL development пробовала с такими же данными добавить, добавляется.

в чем вообще может быть ошибка?
 
Код:
CallableStatement callst = connection
.prepareCall("begin P_AGNLIST_BASE_INSERT("
+ "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "
+ "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "
+ "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "
+ "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "
+ "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?" + "); end;");
ты уверен в семантике вызова?
я как то больше с таким сталкивался "{P_AGNLIST_BASE_INSERT(?,?,?.....)}"

и где сигнатура хранимки? а то гадать не хочется

по именам сетать пробовал?
 
Проблема была с blob. мне нужно было записать в БД null и всего-то. но blob категорически не записывался через setNull. в результате использовала oracle.sql.BLOB = null. и засетила его как Blob.
так что синтаксис правильный.
а как по именам сетить? я видела примеры, где только вопросы.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab