Я пытаюсь отладить странное поведение в моем приложении. Для этого мне нужно воспроизвести сценарий, в котором запрос SQL SELECT будет выдавать ошибку, но только при фактической выборке из курсора, не при выполнении самого запроса. Можно ли это сделать? Подойдет любая ошибка, но ORA-01722: invalid number
кажется очевидной попыткой.
Я создал таблицу со следующим:
KEYCOL INTEGER PRIMARY KEY
OTHERCOL VARCHAR2(100)
Затем я создал несколько сотен строк с уникальными значениями для первичного ключа и значением l
для othercol
. Затем я выполнил запрос SELECT *, выбрал строку где-то посередине и обновил ее до строки abcd
. Я запустил запрос SELECT KEYCOL, TO_NUMBER(OTHERCOL) FROM SOMETABLE
, надеясь получить несколько строк хороших данных, а затем ошибку. Но я продолжаю получать ORA-01722: invalid number
на самом шаге выполнения.
Я получил это поведение программно, используя ADO (с серверным курсором) и JDBC, а также от PL / SQL Developer. Как я могу получить результат, который я ищу? спасибо
Редактировать - значит добавить, что при использовании ADO я звоню только Command.Execute
. Я не создаю и не открываю набор записей.