powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как получить имя поля, на котором произошел exception value_error?
14 сообщений из 14, страница 1 из 1
Как получить имя поля, на котором произошел exception value_error?
    #32136260
bambr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем.

Имеем запрос на апдейт или инсерт.
В результате выполнения запроса вылетают ошибки, связанные с неправильными значениями, переданными в запросе (например, numeric overflow, ORA-01426 ). От PL/SQL процедуры хочется, чтобы в результате обработки исключения VALUE_ERROR она вернула название поля, на котором произошел сбой. В процедуру запрос передается как параметр (строка), и дальше в ней предполагается выполнить execute immediate этого запроса и уже обрабатывать исключения.

Такое вообще в Оракле сделать возможно?
...
Рейтинг: 0 / 0
Как получить имя поля, на котором произошел exception value_error?
    #32136267
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kakie znacheniya parametrov
"plsql_v2_compatibility"
"plsql_compiler_flags" v INI?
...
Рейтинг: 0 / 0
Как получить имя поля, на котором произошел exception value_error?
    #32136282
bambr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
plsql_v2_compatibility = FALSE
plsql_compiler_flags - флаг в параметрах инициализации отсутствует
...
Рейтинг: 0 / 0
Как получить имя поля, на котором произошел exception value_error?
    #32136311
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
V takom sluchae - nel'zya, esli ne hochesh popotet' s DBMS_DEBUG package..
...
Рейтинг: 0 / 0
Как получить имя поля, на котором произошел exception value_error?
    #32136318
bambr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что мне даст изменение plsql_v2_compatibility на true?
Предположим, я могу это сделать.
...
Рейтинг: 0 / 0
Как получить имя поля, на котором произошел exception value_error?
    #32136321
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Best performance, esli izmenish DBMS_SQL calls on Execute Immediate
2. Close support PLSQL V1;
3. New functionality Your PLSQL compiler
( no bez plsql_compiler_flags on budet rabotat' kak prostoi interpretator...)
...
Рейтинг: 0 / 0
Как получить имя поля, на котором произошел exception value_error?
    #32136330
bambr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что то не совсем понятно.

3. New functionality Your PLSQL compiler
имеется ввиду, что я смогу решить задачу, поставленную в первом сообщении треда?

Ну а если делать через DBMS_DEBUG ? Можно хотя бы описать алгоритм действий по выявлению проблемного поля?
...
Рейтинг: 0 / 0
Как получить имя поля, на котором произошел exception value_error?
    #32136345
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.Yes.
2. - initialize
- debug_on
- set_diagnostic_level
- attach_session
- get_runtime_info / get_encoded_stack_for_client / execute / get_line_map
- detach_session
- debug_off
...
Рейтинг: 0 / 0
Как получить имя поля, на котором произошел exception value_error?
    #32136367
bambr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А хранимую процедуру для моих нужд на версии Oracle 8.1.5.0.0 реализовать невозможно?
...
Рейтинг: 0 / 0
Как получить имя поля, на котором произошел exception value_error?
    #32136386
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sorry, net. Hotya by 8.1.7..
...
Рейтинг: 0 / 0
Как получить имя поля, на котором произошел exception value_error?
    #32136425
Guest11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Oracle X-pert

а пример привести сможешь?

К случаю: есть таблица

create table x(
x varchar2(1));

идет insert:

insert into x3 values('xxxxx')
...
Рейтинг: 0 / 0
Как получить имя поля, на котором произошел exception value_error?
    #32136447
bambr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Oracle X-pert

как выяснилось, есть возможность апдейта Oracle до версии 8.1.7
не могли бы вы описать значения ключей plsql_v2_compatibility , plsql_compiler_flags и алгоритм работы хранимой процедуры для 8.1.7?
...
Рейтинг: 0 / 0
Как получить имя поля, на котором произошел exception value_error?
    #32136544
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
plsql_v2_compatibility :
Range of Values: native (PL/SQL modules will be compiled to native code.), interpreted (then PL/SQL modules will be compiled to PL/SQL byte-code format), debug (PL/SQL modules will be compiled with probe debug symbols), non_debug.
Default Value: " interpreted, non_debug ".

Algoritm - chut' pozge...
...
Рейтинг: 0 / 0
Как получить имя поля, на котором произошел exception value_error?
    #32136660
bambr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ок, спасибо
жду
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как получить имя поля, на котором произошел exception value_error?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]