Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Замена RAISERROR в Watcom SQL - SIGNAL
|
|||
|---|---|---|---|
|
#18+
Добрый день! Задача: Необходимо сообщать об ошибках бизнесс логики сервера - клиенту, вызывающему хр. процедуру или функцию; Решение: Принято решение генерировать exception средствами сервера, что то вроде: Код: plaintext 1. 2. 3. 4. 5. Проблема: клиент не зависимо от интерфейса работы с БД получает exception с сообщением: "User defined exception"; Вопрос: как регистрировать пользовательские сообщения для ошибок на сервере? (что то вроде sp_addmessage в Microsoft SQL Server 2000 ); Заранее благодарен за ответы. Примечание: Sybase ASA 9.0.2.3207 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2005, 15:51 |
|
||
|
Замена RAISERROR в Watcom SQL - SIGNAL
|
|||
|---|---|---|---|
|
#18+
CREATE MESSAGE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2005, 16:47 |
|
||
|
Замена RAISERROR в Watcom SQL - SIGNAL
|
|||
|---|---|---|---|
|
#18+
create message это transact-sql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2005, 18:08 |
|
||
|
Замена RAISERROR в Watcom SQL - SIGNAL
|
|||
|---|---|---|---|
|
#18+
np9mi7 Код: plaintext 1. 2. 3. 4. 5. Все правильно, что тебя смущает? Клиентское приложение получает сообщение, читает SQLState, и по своей внутренней таблице формирует уже текстовое сообщение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2005, 19:02 |
|
||
|
Замена RAISERROR в Watcom SQL - SIGNAL
|
|||
|---|---|---|---|
|
#18+
White OwlКлиентское приложение получает сообщение, читает SQLState, и по своей внутренней таблице формирует уже текстовое сообщение. А SQLState по своей внутренней таблицы - это ты имеешь ввиду таблицу с описаниями SQLState в системных таблицах сервера (какие вообще есть?) или свою таблицу в БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 08:12 |
|
||
|
Замена RAISERROR в Watcom SQL - SIGNAL
|
|||
|---|---|---|---|
|
#18+
np9mi7А SQLState по своей внутренней таблицы - это ты имеешь ввиду таблицу с описаниями SQLState в системных таблицах сервера (какие вообще есть?) или свою таблицу в БД? В системных таблицах сервера, твоих собственных SQLState значений быть все же не может, не так ли? :) А вообще, текстовые описания ошибок хранить можно где угодно. И в базе, и на клиентской стороне... Как удобней покажется. В хранимой процедуре (триггере, функции) объявляешь свое собственное исключение давая ему уникальный код в SQLState. Кидаешь его. Сервер для всех исключений чей SQLState ему не известен дает общее текстовое описание "User defined exception". Ну и все собственно говоря. Из этого и исходим. Клиентская программа посылает на сервер какой-то запрос, а получив исключение проверяет в первую очередь этот самый SQLState. Если этот код есть в собственной таблице ошибок - показываем пользователю свое описание. Если нету - показываем серверное описание. Все просто и легко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 18:48 |
|
||
|
Замена RAISERROR в Watcom SQL - SIGNAL
|
|||
|---|---|---|---|
|
#18+
Все это полезно и хорошо, когда требуется писать интернациональное приложение, где и сообщения об ошибках должны быть на разных языках. Если же проект пишется только для одной страны, то по моему легче RAISERROR делать и не заморачиваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 05:59 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=33393059&tid=2013237]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 357ms |

| 0 / 0 |
