powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка в CallableStatement
4 сообщений из 4, страница 1 из 1
Ошибка в CallableStatement
    #40028276
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день

Есть хранимая процедура без OUT параметров в пакете pkgDynamicSQL, только 3 IN параметров:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
    PROCEDURE InsertRating(member_id IN NUMBER, product_id IN NUMBER, value IN NUMBER)
    AS       
    
    rate_id NUMBER(10) := 0;
    
    BEGIN
        
        SELECT MAX(rating_id) INTO rate_id FROM Rating;
        
        rate_id := rate_id + 1;
        
        INSERT INTO Rating VALUES(rate_id, member_id, product_id, value);

    END InsertRating;



Пытаюсь вызвать процедуру и передать

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
...
int MEMBER_ID = 5;
int PRODUCT_ID = 2;
int value = 1;
...
_callablestatement = _connection.prepareCall("{call pkgDynamicSQL.InsertRating(?,?,?)}");
_callablestatement.setInt(1, MEMBER_ID);
_callablestatement.setInt(1, PRODUCT_ID);
_callablestatement.setInt(1, value);
_callablestatement.executeUpdate();



Отваливается на ошибке:

Код: java
1.
2.
3.
4.
5.
6.
java.sql.SQLException: В индексе отсутствует параметр IN или OUT:: 2
	at oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:2076)
	at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4790)
	at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:4875)
	at oracle.jdbc.driver.OracleCallableStatement.executeUpdate(OracleCallableStatement.java:5661)
	at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1361)



Через SQL Developer процедура работает исправно.
Спасибо за помощь.
...
Рейтинг: 0 / 0
Ошибка в CallableStatement
    #40028280
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiQuid,

_callablestatement.setInt(1, MEMBER_ID);
_callablestatement.setInt(2, PRODUCT_ID);
_callablestatement.setInt(3, value);
...
Рейтинг: 0 / 0
Ошибка в CallableStatement
    #40028285
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что с ними не так? Как правильно вызвать хранимую процедуру с только входными(IN) параметрами без OUT?
...
Рейтинг: 0 / 0
Ошибка в CallableStatement
    #40028333
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiQuid,

В Вашем коде передается только параметр 1. Параметры 2 и 3 Вы НЕ передаете.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка в CallableStatement
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]