powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Хочу сделать свою БД read-only, не знаю, как
14 сообщений из 14, страница 1 из 1
Хочу сделать свою БД read-only, не знаю, как
    #39116423
Фотография Vad72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня такой вопрос. Есть программа exe-файл и файл БД (FireBird 2.1). Всё работает. Но пользователь хочет перевести БД в режим readOnly, но чтобы при этом программа работала без ошибок. Что я должен изменить в программе? Использую компоненты FIBPlus.
Может можно как-то в программе, при запуске, определить, что БД readOnly, а потом пробежаться по всем компонентам и что-то там в свойствах перенастроить?
...
Рейтинг: 0 / 0
Хочу сделать свою БД read-only, не знаю, как
    #39116447
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vad72Может можно как-то в программе, при запуске, определить, что БД readOnly, а потом пробежаться по всем компонентам и что-то там в свойствах перенастроить?

Конечно. Перебираем все контролы и ставить им Enabled=False/Visible=False и т.п. Получаем серенькую формочку.

P.S. А чем обусловлено желание БД перевести именно в R/O режим?
...
Рейтинг: 0 / 0
Хочу сделать свою БД read-only, не знаю, как
    #39116615
Фотография Vad72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterVad72Может можно как-то в программе, при запуске, определить, что БД readOnly, а потом пробежаться по всем компонентам и что-то там в свойствах перенастроить?

Конечно. Перебираем все контролы и ставить им Enabled=False/Visible=False и т.п. Получаем серенькую формочку.

P.S. А чем обусловлено желание БД перевести именно в R/O режим?
ну клиент типа раз в год делает копию базы, переводит в этот режим. В текущей (активной/рабочей) БД удаляет историю больше года. Но при запуске программы можно выбрать "архивную базу / которая readOnly.
...
Рейтинг: 0 / 0
Хочу сделать свою БД read-only, не знаю, как
    #39116620
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vad72,

Тебе в другой ветке сказали - API. Или вызываешь сам или ищешь обертку, которая сможет сделать это вместо тебя.
...
Рейтинг: 0 / 0
Хочу сделать свою БД read-only, не знаю, как
    #39116650
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

Должен быть или FIBDatabaseInfo, или у FIBDatabase должна быть проперть, которая показывает, что открытая база в read-only.
С компонентами самый простой путь - вообще ничего не делать, если без попыток модификации приложение будет работать с такой БД без ошибок.
Единственное - где-нибудь красным вывести Label или что-то вроде, мол, "БД открыта в режиме "только чтение", поэтому любая попытка изменения данных приведет к ошибке".
...
Рейтинг: 0 / 0
Хочу сделать свою БД read-only, не знаю, как
    #39116657
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

Еще как вариант - все транзакции в этом случае запускать в R/O (вот не помню, модифицирущая транзакция в FIB+ управляема?)
...
Рейтинг: 0 / 0
Хочу сделать свою БД read-only, не знаю, как
    #39116659
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvС компонентами самый простой путь - вообще ничего не делать, если без попыток
модификации приложение будет работать с такой БД без ошибок.
Ну я именно так и сказал ещё в начале топика. Только оно не будет из-за привычки фибов
препарировать модифицирующие запросы при открытии датасета.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Хочу сделать свою БД read-only, не знаю, как
    #39116835
_док_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMasterkdv,

Еще как вариант - все транзакции в этом случае запускать в R/O (вот не помню, модифицирущая транзакция в FIB+ управляема?)
абсолютно , там надо просто снять галку autocommit
...
Рейтинг: 0 / 0
Хочу сделать свою БД read-only, не знаю, как
    #39117028
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне только одному кажется что без правки исходников автором результат будет как минимум неудовлетворительный?
Программа должна быть расчитана на работу с R/O базой.
Например, ставится блокировка холостым UPDATE, или триггера в базе ведут логи...
...
Рейтинг: 0 / 0
Хочу сделать свою БД read-only, не знаю, как
    #39117037
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks,

фигня это всё с блокировками записей. Если уж на то пошло то в идеале просто диалоги редактирования не должны вызываться вовсе (кнопки их вызова задисейблены или вообще не видны), что бы пользователь и не пытался ничего редактировать.
...
Рейтинг: 0 / 0
Хочу сделать свою БД read-only, не знаю, как
    #39117133
Фотография Vad72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_док_DarkMasterkdv,

Еще как вариант - все транзакции в этом случае запускать в R/O (вот не помню, модифицирущая транзакция в FIB+ управляема?)
абсолютно , там надо просто снять галку autocommit
я правильно понял, что если эту галку снять всем TpFIBDataSet , то пользователь (программа) будет работать без вываливания ошибок. Пользователь, если что-то там и изменит, то ни фига не сохранится, правильно?
...
Рейтинг: 0 / 0
Хочу сделать свою БД read-only, не знаю, как
    #39117168
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vad72я правильно понял
программа твоя, откуда мы знаем, как она заработает если ты что-то там выключишь?
...
Рейтинг: 0 / 0
Хочу сделать свою БД read-only, не знаю, как
    #39117955
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисfraks,

фигня это всё с блокировками записей. Если уж на то пошло то в идеале просто диалоги редактирования не должны вызываться вовсе (кнопки их вызова задисейблены или вообще не видны), что бы пользователь и не пытался ничего редактировать.

И откуда взялось утверждение что запись в базу происходит исключительно при нажатии юзером кнопки "Записать"?
...
Рейтинг: 0 / 0
Хочу сделать свою БД read-only, не знаю, как
    #39117956
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисfraks,

фигня это всё с блокировками записей. Если уж на то пошло то в идеале просто диалоги редактирования не должны вызываться вовсе (кнопки их вызова задисейблены или вообще не видны), что бы пользователь и не пытался ничего редактировать.

Более того, писать может даже не клиентское приложение а процедуры на сервере.
Например вызываешь процедуру поиска которая вроде бы ничего не пишет, а она унутре пишет лог поисковых запросов.
И если эта процедура будет вызвана в R/O-транзакции то даст исключение.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Хочу сделать свою БД read-only, не знаю, как
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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