Закрытие базы данных по расписанию

Автор jurii, 25 апреля 2025, 23:10

0 Пользователи и 1 гость просматривают эту тему.

jurii

Добрый день! Прошу совета, есть база данных  (.odb), каждую ночь для архивации жёсткого диска и данных операционная система автоматически перегружается. Иногда я забываю закрывать базу данных. За день, я вносил данные в неё. При перезагрузке данные некоторые теряются. Вопрос, что можно сделать? Может поставить макрос например на 21:00 для корректного завершения работы базы данных? Если да, то как? Или установить на сервер Linux?

sokol92

Цитата: jurii от 25 апреля 2025, 23:10Может поставить макрос например на 21:00 для корректного завершения работы базы данных?
Теоретически есть два подхода к решению.

1. Можно средствами операционной системы в определенное время запустить командный файл, который выполнит требуемую работу: сохранит все ранее не сохраненные документы и закроет их.

2. Поставить таймер внутри LO на определенное время. Простые универсальные способы мне не известны.
  Вроде бы получается выполнять задания по расписанию  в документе Calc, используя макросы Basic c Option VBA Support 1, вызывая метод Application.OnTime (можно потестировать приложенный файл).



Владимир.

economist

Перезагружать сервер неправильно, 60% выхода из строя компонентов матплаты и БП происходят при включении и перезагрузке.

Т.к. теряются данные - надо разбираться с этим, а не добивать ПК избыточной архивацией с ребутом.

Можно подобрать архиватор, который архивирует открытые файлы. Например 7-zip умеет, а Cobian Backup - нет.

Возможно используется в Base движок HSQL, с него легко переехать на что-то более предсказуемое и надёжное (SQLite итд), и там есть свои способы архивации данных, плюс ACID-принципы, делающие потерю данных крайне маловероятной.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

jurii

Спасибо за подсказку, буду пробовать.