Начало » Использование СУБД » Firebird, HQbird, InterBase » RDB$ERROR и русский текст в EXECUTE STATEMENT
RDB$ERROR и русский текст в EXECUTE STATEMENT [сообщение #2715] |
Mon, 10 July 2023 02:22 |
CyberMax
Сообщений: 8 Зарегистрирован: June 2023
|
Junior Member |
|
|
FB 4.0.2.2770. Подключение в кодировке WIN1251.
Выполняю запрос:
EXECUTE BLOCK
RETURNS (TEXT_EXCEPTION VARCHAR(1024))
AS
BEGIN
BEGIN
EXECUTE STATEMENT 'execute block as begin EXCEPTION EXC$CHECK_DATA ''there exception''; end';
END
WHEN ANY DO
BEGIN
:TEXT_EXCEPTION = RDB$ERROR(MESSAGE);
SUSPEND;
END
END
Получаю текст:
exception 2
EXC$CHECK_DATA
There exception
At block line: 1, col: 24
At block line: 6, col: 9
Меняем текст на русский:
EXECUTE BLOCK
RETURNS (TEXT_EXCEPTION VARCHAR(1024))
AS
BEGIN
BEGIN
EXECUTE STATEMENT 'execute block as begin EXCEPTION EXC$CHECK_DATA ''Здесь исключение''; end';
END
WHEN ANY DO
BEGIN
:TEXT_EXCEPTION = RDB$ERROR(MESSAGE);
SUSPEND;
END
END
Выполняем:
Arithmetic overflow or division by zero has occurred.
arithmetic exception, numeric overflow, or string truncation.
Cannot transliterate character between character sets.
At block line: 10, col: 9.
С этим в трекер идти?
|
|
|
|
|
|
|
|
|
Переход к форуму:
Текущее время: Sun Nov 24 21:13:40 GMT+3 2024
Общее время, затраченное на создание страницы: 0.01012 секунд
|