|
Самопроизвольная чистка dbf
|
|||
---|---|---|---|
#18+
Ситуация. Есть программка на vfp9(один грид и три кнопки), работает с одним файлом dbf, файл лежит на расшаренном диске. Редактирование/добавление записей, редко удаление, один юзер. В последние дни нам периодически и непредсказуемо обрубают эл-во (с.ки!), соединение с файлопомойкой рвётся (пож-та, не надо про бесперебойники...), в результате чего (не всегда) все записи в файле исчезают. То есть остаётся нормальная дбф-ка, но без записей, как будто ZAP-нутая. Я уже мозг сломал, пытаясь понять, чем это может быть вызвано. Самое непонятное для меня в том, что в файле могут быть записи, юзер закрывает программу, уходить чайку попить - файл лежит, инфа в нём есть. Юзер приходит, включается, начинает туда ещё что-нить писать, обрубается сеть из-за эл-ва, и вуаля - "у меня всё исчезло!" Объёмы инфы несерьёзные, но часто там ручной ввод, исправления - на меня скоро начнут злиться Поможите, пожалуйста, советом. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2009, 19:10 |
|
Самопроизвольная чистка dbf
|
|||
---|---|---|---|
#18+
tanglirВ последние дни нам периодически и непредсказуемо обрубают эл-во (с.ки!), соединение с файлопомойкой рвётся (пож-та, не надо про бесперебойники...)И тем не менее именно про бесперебойники. Комп и программы на нем без электричества работать не могут, потому всякие программные способы решения проблемы не проходят. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2009, 19:22 |
|
Самопроизвольная чистка dbf
|
|||
---|---|---|---|
#18+
tanglir В последние дни нам периодически и непредсказуемо обрубают эл-во. Я уже мозг сломал, пытаясь понять, чем это может быть вызвано. Стра-а-анный вы, сэр. Без елестричества бывают очень причудливые вещи. Например, начинает разговаривать чучело белого медведя :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2009, 19:57 |
|
Самопроизвольная чистка dbf
|
|||
---|---|---|---|
#18+
Предположительно, к этому может привести FLOCK(). Т.е. блокировка всей таблицы. Сама концепция блокировок в FoxPro предполагает сдвиг адресации. Если в этот момент обрубят электричество, то последствия не предсказуемые. Поэтому, общая идеология программирования предполагает уменьшение времени блокировки файлов. Только и исключительно на момент записи. Процесс же редактирования должен осуществляться в некоторой "копии" данных. В Visual FoxPro это осуществляется при помощи буферизации ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2009, 20:06 |
|
Самопроизвольная чистка dbf
|
|||
---|---|---|---|
#18+
попробуйте варианты 1. попробовать flush force везде после изм-я данных пользователем. 2. использовать курсорадаптер. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2009, 21:47 |
|
Самопроизвольная чистка dbf
|
|||
---|---|---|---|
#18+
ВладимирМ, прошелмимо, Если я правильно понимаю концепцию буферизации в фоксе, то buffering=3 и tableupdate в нужных местах должно хватить для решения этой проблемы? ЗЫ. Там вообще был use exclusive и никакой буферизации 8) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2009, 16:36 |
|
Самопроизвольная чистка dbf
|
|||
---|---|---|---|
#18+
КАД buffering=5 и tableupdate в почту пришлите Ваш проект, если нет секретов. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2009, 16:42 |
|
Самопроизвольная чистка dbf
|
|||
---|---|---|---|
#18+
Без устойчивого эл.питания все буферизации и flush force всего лишь уменьшат вероятность пропадания данных. использование курсорадаптера с 5 буферизацией наверное самое предпочтительное. Но всё-равно 100 % защиты - нет. Ведь кроме буферов фокса есть еще кеш винды и сетки. Поэтому хотите спать спокойно - tanglir(пож-та, не надо про бесперебойники...) ШурикНадо Федя-надо ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2009, 16:54 |
|
Самопроизвольная чистка dbf
|
|||
---|---|---|---|
#18+
tanglir читайте здесь http://forum.foxclub.ru/read.php?29,241344,241555#msg-241555 + дайте мне проект посмотреть, я попробую прикрутить курсорадаптер ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2009, 17:08 |
|
Самопроизвольная чистка dbf
|
|||
---|---|---|---|
#18+
извиняюсь за флуд, но так просто вспомнилось автори переставила рабочий стол в другое место, тетушка осталась прежней и вот чудо данные перестали теряться, а в том месте тетушки поставили цветочки реальный случай из жизни: АЭС, в бухгалтерии не работает флопик, вызывают работника из ОАСУ, уносит блок, приносит со словами - все работает, бухи проверяют - флоп не работает, вызывают работника ОАСУ, уносит, приносит ... ну и т.д. в итоге от ОАСУ в бухгалтерии появляется бумага, точно формулировку не помню, но имелась фраза про "неблагоприятные геомагнитные условия" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2009, 17:16 |
|
Самопроизвольная чистка dbf
|
|||
---|---|---|---|
#18+
tanglir, присоеденяюсь к проходящему, но может - архивация по выходу из программы и обязать пользователя пить чай, только после закрытия программы ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2009, 19:33 |
|
Самопроизвольная чистка dbf
|
|||
---|---|---|---|
#18+
alextashkархивация по выходу из программы и обязать пользователя пить чай, только после закрытия программы tanglirюзер закрывает программу, уходить чайку попить - файл лежит, инфа в нём есть. Юзер приходит, включается, начинает туда ещё что-нить писать, обрубается сеть из-за эл-ва, и вуаля - "у меня всё исчезло!" В общем, сделал 5 буферизацию и тэйблапдейт где надо, потестил путём выдёргивания провода из сетевухи - вроде нормально, по крайней мере что было "закоммиченное", то остаётся на месте. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2009, 15:15 |
|
|
start [/forum/topic.php?fid=41&msg=36101729&tid=1586201]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 311ms |
total: | 438ms |
0 / 0 |