powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA 9 текст error'a вместо кода
3 сообщений из 3, страница 1 из 1
ASA 9 текст error'a вместо кода
    #34387110
yourij_mw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Решили замутить систему централизированного измененения схем БД :тоесть отправить sql и там запустить. Проконтролировать переменной SQLCODE то можно, но если например имеет место ошибка связанная с неправильным именем колонки, то невозможно будет по коду или расшифровке сообщения определить где именно неправильно указана колонка. Другими словами хочется внутри ХП взять сообщение об ошибке "Column 'SUMA' not found", тоесть такое сообщение какое АСА выдаёт клиенту, а я в ХП умею получить только такое сообщение : "Column '%1' not found".
Можно как то в ХП взять полный текст ошибки, вместо ёё кода?
...
Рейтинг: 0 / 0
ASA 9 текст error'a вместо кода
    #34387886
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
ASA 9 текст error'a вместо кода
    #34388050
yourij_mw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо!
На функцию 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
3 сообщений из 3, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA 9 текст error'a вместо кода
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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