Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA 9 текст error'a вместо кода / 3 сообщений из 3, страница 1 из 1
13.03.2007, 13:42
    #34387110
yourij_mw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 9 текст error'a вместо кода
Всем привет.
Решили замутить систему централизированного измененения схем БД :тоесть отправить sql и там запустить. Проконтролировать переменной SQLCODE то можно, но если например имеет место ошибка связанная с неправильным именем колонки, то невозможно будет по коду или расшифровке сообщения определить где именно неправильно указана колонка. Другими словами хочется внутри ХП взять сообщение об ошибке "Column 'SUMA' not found", тоесть такое сообщение какое АСА выдаёт клиенту, а я в ХП умею получить только такое сообщение : "Column '%1' not found".
Можно как то в ХП взять полный текст ошибки, вместо ёё кода?
...
Рейтинг: 0 / 0
13.03.2007, 16:46
    #34387886
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 9 текст error'a вместо кода
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
alter procedure p()
begin
    declare ColumnNotFound exception for sqlstate '52003';
    create table #t(id integer default autoincrement, c char( 1 ));
    insert into #t(id, a) values( 1 , 'A');
    select * from #t;
exception
    when ColumnNotFound then
        message SQLSTATE || ' ' || SQLCODE || ' ' || ErrorMsg() to client;
end;

call p;


---
http://www.rusug.ru] Портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
13.03.2007, 17:18
    #34388050
yourij_mw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 9 текст error'a вместо кода
Большое спасибо!
На функцию ERRORMSG я обращал внимание.
Посмотрев на ее синтакс :ERRORMSG ( [ sqlstate | sqlcode ] ) я когда-то не подумал что ее можно вызывать и без параметров, да и не читал что там немногим ниже было написано.
"A string containing the error message. If no argument is supplied, the error message for the current state is supplied. Any substitutions (such as table names and column names) are made."
В общем, не увидел то что было под носом, как часто бывает..
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA 9 текст error'a вместо кода / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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