Scriptella: получить коды ошибок и сообщения в теге onerror
Используя Scriptella ETL, я недавно узнал о теге onerror. Он работает нормально, но я хочу сделать общий код, который вставляет код и сообщение в базу данных при возникновении любой ошибки.
Я использую это так:
<onerror codes="42604,42617,42000,1366" >
INSERT INTO demo_travel.test_log(Time_Now, ErrorName) values ( sysdate(),'eeuhue');
</onerror>
Который работает, но я хочу что-то вроде этого:
<onerror >
INSERT INTO demo_travel.test_log(Time_Now, ErrorName,ErrorMSG) values ( sysdate(),Error.code, error.msg);
</onerror>
1 ответ
К сожалению, нет простого способа достичь этого. onerror был основан на предположении, что разработчик знает ошибку, с которой он имеет дело. Но я согласен, что это должно быть улучшено. Проблема была частично решена в запросе Feature: Разрешить другой идентификатор соединения в элементе onerror.
Так что для 1.1 или более ранних версий это невозможно. Для текущего снимка разработки 1.2 эта информация может быть выведена из переменной "error", как объяснено в заявке. Я также создал подкаталог, чтобы раскрыть дополнительные свойства ошибки.