Java readyStatement с параметром setBigDecimal вызывает ORA-03115 - PullRequest
3 голосов
/ 20 февраля 2010

Проблема в том, что я устанавливаю подготовленное состояние для запроса в таблице с такими полями (среди прочих):

TABLE1_RSPN NUMBER(8,0)
TABLE1_AFDV NUMBER(8,0)
TABLE1_VALUE    NUMBER(17,2)
TABLE1_NOTE VARCHAR2(255 BYTE)
TABLE1_USR  VARCHAR2(20 BYTE)

...

Пытаюсь получить некоторую информациюв моем Java-приложении я установил подготовленное состояние, которое вызывает исключение Oracle ORA-03115, неподдерживаемый сетевой тип данных или представление.

Соответствующий код Java такой:

sentSQL = "SELECT TABLE1.*, TABLE2.CIAS FROM TABLE1, TABLE2 WHERE TABLE1_RSPN = ?" +
" AND TABLE2_AFDV = TABLE1_AFDV";
ps = con.prepareStatement(sentSQL);
ps.setBigDecimal(1, dto.getCodResponsability());
rs = ps.executeQuery(sentSQL);

CodResponsability является BigDecimal.Я также пробовал с Double и Long, без радости.

Заранее спасибо за вашу помощь!

1 Ответ

5 голосов
/ 20 февраля 2010

Эта строка, вероятно, неверна:

rs = ps.executeQuery(sentSQL);

Это фактически вызывает executeQuery оператора и игнорирует переменные, которые вы связали.

должно быть

rs = ps.executeQuery();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...