Как получить всю информацию о привязке параметров из CallableStatement? - PullRequest
1 голос
/ 13 июля 2011

Я работаю с устаревшим кодом, который использует некоторую запутанную логику для связывания параметров IN и OUT в JDBC CallableStatement.Код выглядит так, как будто он связывает правильные типы для параметров IN и OUT, но при выполнении CallableStatement хранимая процедура Oracle выдает это исключение:

ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'STORED_PROC_ABC'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

«line 1, column7:» не помогает.Это не указывает на что-либо в хранимой процедуре.

Я написал простой автономный тестовый пример, который вызывает хранимую процедуру.с теми же параметрами и типами привязки, что и унаследованный код, и он успешно выполняется.

Мне нужен способ сравнения двух объектов CallableStatement в унаследованном коде и моего автономного теста, чтобы увидеть, что отличается.

Есть ли способ получить соответствующую информацию о привязке параметров (значения и типы) из CallableStatement?Если есть какая-нибудь сторонняя библиотека, которая будет делать это, было бы замечательно, в противном случае мне понадобится способ выкопать различные привязки.

Спасибо.

Ответы [ 2 ]

3 голосов
/ 13 июля 2011

Вы можете использовать CallableStatement.getParameterMetaData () http://download.oracle.com/javase/1.4.2/docs/api/java/sql/ParameterMetaData.html

0 голосов
/ 13 июля 2011

Объекты JDBC CallableStatement предназначены для представления вызовов хранимых процедур на сервере базы данных.

Использование java.sql Interface ParameterMetaData.

Объект, который можно использовать для получения информации о типах и свойства параметров в объекте PreparedStatement.

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