powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нужен ли в БД справочник сообщений пользователю ?
18 сообщений из 18, страница 1 из 1
Нужен ли в БД справочник сообщений пользователю ?
    #32783582
Фотография Massive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно сабж. Сообщения типа "Неправильно выбрано то-то", естественно, с возможностью подставлять в эти сообщения свои данные (ну это уже клиентская часть решает).
...
Рейтинг: 0 / 0
Нужен ли в БД справочник сообщений пользователю ?
    #32783629
olk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как спроетируешь так и будет :)
можно хранить и на клиенте в ресурсах например,
можно на сервере (в справочниках)
я например храню в таблице бд все сообщения на пользовательские исключения
таблица двуязычная, язык выбирается в зависимости от настроек конкретного пользователя ....
единственное из сообщений, что хранятся на клиенте - это сообщение о невозможности соединиться с базой ...
...
Рейтинг: 0 / 0
Нужен ли в БД справочник сообщений пользователю ?
    #32783657
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Канечна нужен ! Как патом узнаишь, аткуда какое саабщение выдаетса ?
...
Рейтинг: 0 / 0
Нужен ли в БД справочник сообщений пользователю ?
    #32783689
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olk...можно хранить и на клиенте в ресурсах например,
можно на сервере (в справочниках)
я например храню в таблице бд все сообщения на пользовательские исключения...

Я храню в лог файлах. На каждого юзверя создается отдельный лог. Отказался от хранения в БД, чтоб ненароком сервер не уронить (пример: циклическая ошибка).
...
Рейтинг: 0 / 0
Нужен ли в БД справочник сообщений пользователю ?
    #32783699
olk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dik76 olk...можно хранить и на клиенте в ресурсах например,
можно на сервере (в справочниках)
я например храню в таблице бд все сообщения на пользовательские исключения...

Я храню в лог файлах. На каждого юзверя создается отдельный лог. Отказался от хранения в БД, чтоб ненароком сервер не уронить (пример: циклическая ошибка).
Нет я не то имел ввиду
Пользователь что то например делает неправильно (нарушет например констрейн) и СУБД в тригере допустим
делает raise_application_error - т.е. сообщение которое обрабатывается на клиенте
вот текст этого сообщения я и храню в БД
...
Рейтинг: 0 / 0
Нужен ли в БД справочник сообщений пользователю ?
    #32783748
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olkНет я не то имел ввиду
Пользователь что то например делает неправильно (нарушет например констрейн) и СУБД в тригере допустим
делает raise_application_error - т.е. сообщение которое обрабатывается на клиенте
вот текст этого сообщения я и храню в БДИ я про то же..
...
Рейтинг: 0 / 0
Нужен ли в БД справочник сообщений пользователю ?
    #32783844
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сдается мне, что вы не про одно и то же ;-)

Что касается вопроса, отвечу: да, это будет хорошее решение.
...
Рейтинг: 0 / 0
Нужен ли в БД справочник сообщений пользователю ?
    #32783899
Фотография Massive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сначала тоже думал, что это хорошее решение. Но по мере роста количества сообщений получилось: чтобы добавить новое сообщение в этот справочник, нужно сначала искать, нет ли уже такого сообщения.
Потом в клиентской части не разберешь сразу, откуда что берется.
То есть наверное это хорошо, когда сообщений не больше сотни.
...
Рейтинг: 0 / 0
Нужен ли в БД справочник сообщений пользователю ?
    #32784078
olk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MassiveЯ сначала тоже думал, что это хорошее решение. Но по мере роста количества сообщений получилось: чтобы добавить новое сообщение в этот справочник, нужно сначала искать, нет ли уже такого сообщения.
Потом в клиентской части не разберешь сразу, откуда что берется.
То есть наверное это хорошо, когда сообщений не больше сотни.
а какая разница, если хранить на клиенте - что сразу разберешься ?
в том же ресурсе или непосредственно в коде или в текстовом файле или еще где ...
...
Рейтинг: 0 / 0
Нужен ли в БД справочник сообщений пользователю ?
    #32784085
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас тоже сообщения в БД, так как проще найти сообщение в базе, чем в коде приложения.
...
Рейтинг: 0 / 0
Нужен ли в БД справочник сообщений пользователю ?
    #32784193
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все я въехал
Сообщения тоже храню в БД.

MassiveЯ сначала тоже думал, что это хорошее решение. Но по мере роста количества сообщений получилось: чтобы добавить новое сообщение в этот справочник, нужно сначала искать, нет ли уже такого сообщения.
Потом в клиентской части не разберешь сразу, откуда что берется.
То есть наверное это хорошо, когда сообщений не больше сотни.
На оракле в эту таблицу закинул все стандартные русифицированные сообщения.
Например:
кодконстрейнт сообщение1 ORA-00001: нарушено ограничение уникальности (.)1 CHK_U_SS_NAME Подсистема с таким названием уже существует!
Если возникает ошибка по констрейнту, то сначала ищется ошибка с именем констрейнта, если она не найдена, то выводится стандартная. Другими словами, пользователь всегда видит русифицированное сообщение.
...
Рейтинг: 0 / 0
Нужен ли в БД справочник сообщений пользователю ?
    #32784205
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а чтоб ручками не проверять есть ли уже сообщение, добавлен констайнт на таблицу ошибок: код+констрайнт UNIQUE.
...
Рейтинг: 0 / 0
Нужен ли в БД справочник сообщений пользователю ?
    #32784232
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dik76
Если возникает ошибка по констрейнту, то сначала ищется ошибка с именем констрейнта, если она не найдена, то выводится стандартная. Другими словами, пользователь всегда видит русифицированное сообщение.
Имхо - ты сделал прорву лишней работы ;) То есть в данном случае напрашивается "нормализация" - хранить информацию типа "констрейнт - название". Ну и дальше - вместо констрейнта использовать таблицу/поля, вместо названия - данные из комментариев. И подставлять в "рыбу" сообщения.

Другой вопрос - возможность ошибки при формировании сообщения об ошибке :) Она существует всегда и должна быть предусмотрена. Предусмотреть можно на сервере - в соответствующей процедуре ловить exception-ы и выдавать, например, стандартное сообщение - либо на клиенте, куда заранее закачивать таблицу ошибок с сервера.
...
Рейтинг: 0 / 0
Нужен ли в БД справочник сообщений пользователю ?
    #32784337
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Имхо - ты сделал прорву лишней работы ;) То есть в данном случае напрашивается "нормализация" - хранить информацию типа "констрейнт - название". Ну и дальше - вместо констрейнта использовать таблицу/поля, вместо названия - данные из комментариев. И подставлять в "рыбу" сообщения.
А можно подробнее, повнятнее....
...
Рейтинг: 0 / 0
Нужен ли в БД справочник сообщений пользователю ?
    #32784543
Фотография Massive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но неужели все сообщения, касающиеся бизнес-логики приложения тоже надо запихивать в эту таблицу ?
...
Рейтинг: 0 / 0
Нужен ли в БД справочник сообщений пользователю ?
    #32784651
olk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MassiveНо неужели все сообщения, касающиеся бизнес-логики приложения тоже надо запихивать в эту таблицу ?
Да кто же вам сказал и вообще делайте как вам удобнее кажеться,
если бизнес логика на сервере - то вроде логичнее и сообщения держать там,
если на мидле тире то можно хранить на апликейшен сервере ну и т.д.
я вам даже скажу что у нас не только сообщения но и практически весь интерфейс лежит в репозитарии в бд
...
Рейтинг: 0 / 0
Нужен ли в БД справочник сообщений пользователю ?
    #32785144
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dik76А можно подробнее, повнятнее....
Хм. Глядя на таблицу

КонстрейнтСообщениеOBJECT1_UKОбъект1 уже существуетOBJECT2_UKОбъект2 уже существует......OBJECTN_UKОбъектN уже существует

возникает желание ее нормализовать - выделить "рыбу" (коих может быть два-три варианта, если нужно - но, грубо, "%s уже существует") и оставить соотношение констрейнтов с именами объектов.

Далее приходит в голову, что это соотношение можно выделить из dba_cons_columns и dba_col_comments - если, конечно, придерживаться соответствующей дисциплины при создании объектов.

Собственно, вторая часть уже совершенно необязательна - вопрос в том, что я совершенно уверен в наличии в твоей таблице большого количества "почти одинаковых" сообщений. И минус в этом как и в любой денормализации - если для конкретного клиента потребуется поменять (ну не нравится ему такая формулировка) - придется делать какие-то странные, неочевидные update-ы.
...
Рейтинг: 0 / 0
Нужен ли в БД справочник сообщений пользователю ?
    #32786840
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>softwarer
Ваша мысль понятна. Спасибо.

На самом деле у меня тоже не все так страшно, как кажется. Стандартные сообщения об ошибках, как я уже и сказал, сидят в бд (закачиваются элементарно). А если юзверям не нравится формулировка, то адаптировать под проблему легко. Обработчик ошибок тоже свой и при появлении сообщения есть возможность скорректировать сообщение, т.е. мне не приходится ручками забивать код ошибки и имя констрейнта, а достаточно ввести сообщение, которое должно появляться. Само собой это может сделать только лицо наделенное правами.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нужен ли в БД справочник сообщений пользователю ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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