Я пытаюсь удалить очередь с помощью метода jdbcTemplate(). Update. который -неправильное количество или типы аргументов при вызове 'DROP_QUEUE_TABLE'
getJdbcTemplate().update("call DBMS_AQADM.DROP_QUEUE_TABLE (?, ?)", qTableName.toUpperCase(),true);
DBMS_AQADM.DROP_QUEUE_TABLE принимает два параметра. 1) queue_table как строка и 2) принудительно в качестве логического.
WHN Я пытаюсь запустить приведенный выше код, я получаю -
PreparedStatementCallback; bad SQL grammar [call DBMS_AQADM.DROP_QUEUE_TABLE (?, ?)]; nested exception is java.sql.SQLException: ORA-06553: PLS-306: wrong number or types of arguments in call to 'DROP_QUEUE_TABLE'
ORA-06553: PLS-306: wrong number or types of arguments in call to 'DROP_QUEUE_TABLE'
но когда я бегу следующий код работает мелко-
getJdbcTemplate().update("call DBMS_AQADM.CREATE_QUEUE_TABLE (?, ?)", qTableName.toUpperCase(), payloadType.toUpperCase());
Что я предполагаю, что есть, проблема заключается в передаче объектов oracle (которые не являются varchar или int) в качестве параметров.
Я действительно хочу знать, есть ли способ решить эту проблему.
Правда не является булево Oracle ... См http://stackoverflow.com/questions/30062/boolean-field-in-oracle – mylenereiners