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

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

Такое вообще в Оракле сделать возможно?
...
Рейтинг: 0 / 0
09.04.2003, 09:40
    #32136267
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить имя поля, на котором произошел exception value_error?
Kakie znacheniya parametrov
"plsql_v2_compatibility"
"plsql_compiler_flags" v INI?
...
Рейтинг: 0 / 0
09.04.2003, 09:53
    #32136282
bambr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить имя поля, на котором произошел exception value_error?
plsql_v2_compatibility = FALSE
plsql_compiler_flags - флаг в параметрах инициализации отсутствует
...
Рейтинг: 0 / 0
09.04.2003, 10:13
    #32136311
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить имя поля, на котором произошел exception value_error?
V takom sluchae - nel'zya, esli ne hochesh popotet' s DBMS_DEBUG package..
...
Рейтинг: 0 / 0
09.04.2003, 10:17
    #32136318
bambr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить имя поля, на котором произошел exception value_error?
А что мне даст изменение plsql_v2_compatibility на true?
Предположим, я могу это сделать.
...
Рейтинг: 0 / 0
09.04.2003, 10:22
    #32136321
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить имя поля, на котором произошел exception value_error?
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
09.04.2003, 10:30
    #32136330
bambr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить имя поля, на котором произошел exception value_error?
Что то не совсем понятно.

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

Ну а если делать через DBMS_DEBUG ? Можно хотя бы описать алгоритм действий по выявлению проблемного поля?
...
Рейтинг: 0 / 0
09.04.2003, 10:44
    #32136345
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить имя поля, на котором произошел exception value_error?
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
09.04.2003, 10:59
    #32136367
bambr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить имя поля, на котором произошел exception value_error?
А хранимую процедуру для моих нужд на версии Oracle 8.1.5.0.0 реализовать невозможно?
...
Рейтинг: 0 / 0
09.04.2003, 11:14
    #32136386
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить имя поля, на котором произошел exception value_error?
Sorry, net. Hotya by 8.1.7..
...
Рейтинг: 0 / 0
09.04.2003, 11:36
    #32136425
Guest11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить имя поля, на котором произошел exception value_error?
to Oracle X-pert

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

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

create table x(
x varchar2(1));

идет insert:

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

как выяснилось, есть возможность апдейта Oracle до версии 8.1.7
не могли бы вы описать значения ключей plsql_v2_compatibility , plsql_compiler_flags и алгоритм работы хранимой процедуры для 8.1.7?
...
Рейтинг: 0 / 0
09.04.2003, 12:39
    #32136544
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить имя поля, на котором произошел exception value_error?
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
09.04.2003, 13:36
    #32136660
bambr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить имя поля, на котором произошел exception value_error?
ок, спасибо
жду
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как получить имя поля, на котором произошел exception value_error? / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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