У меня есть ситуация, когда сайт, который я обслуживаю, вызывает пакет / процедуру plsql (Oracle 11g). Процедура создает строку динамического sql с использованием переданных параметров (вызовите строку «v_select»). После того, как строка построена, курсор ref открывается с помощью динамической строки sql v_select. Псевдокод ниже.
OPEN ref_cursor FOR v_select
USING variables set to input parameters ;
Теперь у процедуры есть блок исключений (КОГДА ДРУГИЕ) для перехвата любых исключений. В блоке исключений все ошибки записываются в таблицу в БД. Когда происходит ошибка во время выполнения динамического sql, кажется, что ошибка не перехватывается блоком исключений (запись не вставляется в таблицу ошибок), но я вижу ошибку на уровне .net, поэтому я знаю, это ошибка Oracle номер_ошибки.
Итак, наконец, мой вопрос заключается в следующем ... из того, что я вижу в сети (что было немного), если динамический sql задыхается, это должно быть перехвачено блоком исключения. Это правильно?