| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Что в данном случае означает исключение? |
| Автор: troika 20.7.2011, 14:15 | ||
Добрый день. Хочу получить данные из базы Oracle от хранимой процедуры, возвращающей курсор следующим образом:
При вызове функции .wasNull() вылетает исключение ora-17024 no data read. Во-первых, почему-то никогда не возвращаются хоть какие-то результаты, хотя до вызова функции wasNull() никаких ошибок нет. Данные в базе имеются и процедура на самом сервере работает правильно. Во-вторых, почему при вызове функции wasNull() вылетает это исключение и что оно означает? Что вызов прошел нормально и просто нет данных в курсоре или что-то прошло не так? Или я может не правильно понял назначение функции wasNull? Для меня важнее узнать почему не возвращаются данные, но не знаю связано ли как-то это с ошибкой. Просто без вызова wasNull() никаких ошибок нет, но данные не идут. P.S. Не знаю где лучше разместить тему, тут или в ветке про Oracle |
| Автор: AntonSaburov 20.7.2011, 15:11 |
| Так Вы, сударь сначала добрались до конечной записи и прыгнули за нее - т.е. набор данных в виде ResultSet кончился. И после этого идет попытка обратиться к колонке. Ну оно и падает. Не могу гарантировать, что именно так, но очень похоже на то. |
| Автор: LSD 20.7.2011, 15:15 |
| ResultSet.wasNull() можно вызывать только после того как был вызван один из getXXX() методов. |
| Автор: troika 20.7.2011, 15:25 | ||
Точно! Я же вызываю getObject(1) для CallableStatement, а не для ResultSet |