Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2010, 10:58   #1
Robotics20
Новичок
Джуниор
 
Регистрация: 04.08.2010
Сообщений: 3
По умолчанию Несанкционированное выключение питания и Paradox

Здравствуйте.

Имеется программка, которая производит измерения и складывает их в базу данных.

Среда программирования: C++ Builder;
СУБД: BDE;
БД: Paradox.

Проблема:
Компьютер часто вырубается от сети и в дальнейшем таблицу БД открыть не удается.
Как можно добиться того, чтобы база не слетала, при отключении питания?

Вариант перехода на другую БД рассматриваю, но в качестве крайнего варианта.
Robotics20 вне форума Ответить с цитированием
Старый 04.08.2010, 11:30   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Как можно добиться того, чтобы база не слетала, при отключении питания?
Купи ИБП. И почаще сохраняй БД на диск.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.08.2010, 12:03   #3
Robotics20
Новичок
Джуниор
 
Регистрация: 04.08.2010
Сообщений: 3
По умолчанию

ИБП будет, но он не решит проблему.

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

Проблема больше не в потерянных данных, а в том что таблица умирает.
не могу ее открыть в DB Explore, пишет либо сама таблица повреждена, либо индексный файл.

Пробовал переделывать индексный файл не помогает (Всмысле удалить и создать новый файл).

Последний раз редактировалось Robotics20; 04.08.2010 в 12:10.
Robotics20 вне форума Ответить с цитированием
Старый 04.08.2010, 16:22   #4
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,378
По умолчанию

Насколько я знаю Paradox, вам ничего не поможет, кроме перехода на нормальную БД
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 04.08.2010, 16:29   #5
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

Цитата:
Измерения могут идти весь день, и при выключение света, когда ИБП иссякнет, произойдет такое же выключение.
кто мешает использовать монитор состояния ИБП и корректно завершать работу, скажем за пару минут до того как иссякнет ...благо они и c COM и USB управлением есть, да и утилита в комплекте имеет расширенный функционал для работы с приложениями.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 04.08.2010, 16:40   #6
mrChester
Я
Форумчанин
 
Аватар для mrChester
 
Регистрация: 24.04.2010
Сообщений: 693
По умолчанию

Robotics20 а вы используете транзакции? База перестает дышать из-за нарушения целостности
Цитата:
В Парадоксе??? Там такое есть???
честно говоря не знаю
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©.

Последний раз редактировалось mrChester; 04.08.2010 в 17:14.
mrChester вне форума Ответить с цитированием
Старый 04.08.2010, 16:49   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
а вы используете транзакции?
В Парадоксе??? Там такое есть???
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.08.2010, 19:47   #8
Robotics20
Новичок
Джуниор
 
Регистрация: 04.08.2010
Сообщений: 3
По умолчанию

С базой я общаюсь используя элемент TQuery.
Насколько я знаю, он и использует транзакции для выполнения запросов, но толку от этого нет, даже если явно использовать транзакции.

Цитата:
База перестает дышать из-за нарушения целостности
Я конечно не знаю структуру таблицы Paradox, но предполагаю что косяк связан с тем что BDE для корректного закрытия таблицы должна посчитать контрольную сумму и записать в таблицу, а она этого не делает из за выключения питания. Соответственно, когда открываю таблицу сумма не совпадает.


Цитата:
Сообщение от raxp Посмотреть сообщение
кто мешает использовать монитор состояния ИБП и корректно завершать работу, скажем за пару минут до того как иссякнет ...благо они и c COM и USB управлением есть, да и утилита в комплекте имеет расширенный функционал для работы с приложениями.
Спасибо, буду именно так делать если нерешу проблему программно или сменой БД

Последний раз редактировалось Robotics20; 04.08.2010 в 19:53.
Robotics20 вне форума Ответить с цитированием
Старый 05.08.2010, 10:41   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

Цитата:
если не решу проблему программно
вне зависимости от того решите или нет, то желательно корректно выключать также и саму систему, т.е. весь ПК
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Блок питания,и мать hYpertoN1que Компьютерное железо 6 12.07.2010 22:39
Блок питания krotFT Компьютерное железо 11 05.07.2010 20:49
Блок питания??? SKS Компьютерное железо 3 08.05.2009 12:23
Блок питания-ups zajigateli Компьютерное железо 4 25.03.2009 23:53
Отключение питания Terran Общие вопросы Delphi 5 09.12.2007 00:44