• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

Похожие темы

R
Ответы
5
Просмотры
7 тыс.
R