Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
локализация ошибок
|
|||
|---|---|---|---|
|
#18+
работаю с СУБД Sybase через ODBC. есесно часто возникают ошибки которые генерятся самой БД, например какие-нить constrains: авторERROR [HY000] [MERANT][ODBC Sybase ASE driver][SQL Server]Check constraint violation occurred, dbname = 'mydb', table name = 'mytable', constraint name = 'my_constrains_name'. как мне эту ошибочку выдавать так как я хочу, например: авторПри проверке правильности значений возникла ошибка, запись с таким значением поля уже существует.? Програмно есть вариант такой: можно парсить тескт ошибки, и имея какой то словарик, где каждому значению "my_constrains_name" ставится текст, просто запрашивать текст по значению и выводить на екран. Но это ИМХО, изврат. можно ли по другому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 15:16 |
|
||
|
локализация ошибок
|
|||
|---|---|---|---|
|
#18+
Ваш вариант лучший, поскольку даже локализованный вариант не всегда понятен пользователю. Т.е. часто требуется перевод с русского на русский ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 15:27 |
|
||
|
локализация ошибок
|
|||
|---|---|---|---|
|
#18+
Nauro wrote: > Програмно есть вариант такой: можно парсить тескт ошибки, и имея какой > то словарик, где каждому значению "my_constrains_name" ставится текст, > просто запрашивать текст по значению и выводить на екран. Идея нормальная, только я бы вместо парсинга сообщений брал ID ошибки. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 15:59 |
|
||
|
локализация ошибок
|
|||
|---|---|---|---|
|
#18+
Nauro авторERROR [HY000] [MERANT][ODBC Sybase ASE driver][SQL Server]Check constraint violation occurred, dbname = 'mydb', table name = 'mytable', constraint name = 'my_constrains_name'. как мне эту ошибочку выдавать так как я хочу, например: авторПри проверке правильности значений возникла ошибка, запись с таким значением поля уже существует.? Програмно есть вариант такой: можно парсить тескт ошибки, и имея какой то словарик, где каждому значению "my_constrains_name" ставится текст, просто запрашивать текст по значению и выводить на екран. Но это ИМХО, изврат. можно ли по другому? Если интересует именно такие сообщения как в приведенном примере, то в принципе достаточно будет взять русскую dll с сообщениями об ошибках и все. Не уверен правда есть ли в поставке ASE такая dll :) Но по хорошему, лучше всего будет: Зная что именно клиент пытается сделать и получив ошибку, прочитать SQLState (в данном примере это HY000 ) и на основе этих двух знаний (что клиент хотел и как сервер ругнулся) выдавать смысловое сообщение об ошибке. Естественно некоторый парсинг стандартного сообщения тоже может быть полезным. Например при операции сохранения накладной может прийти ошибка с кодом 23503 No primary key value for foreign key '%1' in table '%2' вычленяешь названия полей и/или таблиц из %1 и %2 и ругаешь пользователя соответственно: "Накладная от неизвестного поставщика" или "Товар неизвестного типа". Это будет для простого пользователя намного понятней чем загадочное: "нет первичного ключа для внешнего ключа ААА в таблице БББ" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 19:02 |
|
||
|
|

start [/forum/topic.php?fid=55&gotonew=1&tid=2013379]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
10ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 391ms |

| 0 / 0 |
