powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как проверить, что ACCESS база испортилась?
23 сообщений из 23, страница 1 из 1
Как проверить, что ACCESS база испортилась?
    #32212086
Elias
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю резервирование/восстановление access базы для программы, которая работает с ней через ODBC. Перед запуском нужно проверить не испортилась ли база каким-либо образом. Чтобы сразу запустить восстановление и не делать резервирования испорченной. Хотелось бы проверять программно как можно тщательнее, а не простым коннектом/дисконнектом.
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32212089
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если тебе нужно как можно тщательней - восстанавливай и сжимай ее безо всяких проверок.
Индексы могут полететь так, что ты это и не отсечешь програмно.
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32212115
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати сжатие тоже не всегда помогает.
т.е. оно может чего-то и не восстановить.
зато при этом Ак создает спец табличку, где все
проблемы перечислены. Удобная штука.
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32212133
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иногда сжатие и невозможно.
Если в результате краха пропали записи, учавствующие в связи 1:М со стороны 1 (с обеспечением целостности данных), то надо восстанавливать базу, грохать связь, искать оторванные ссылки, убивать кривые данные, восстанавливать связь, сжимать базу.
Наблюдалось, правда, только под аксесом 2.0.
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32212544
Elias
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. если после DB_COMPACT в базе появилась таблица с названием [...] (где-то видел, но не помню), то можно достоверно утверждать, что в базе что-то испортилось?
Меня больше интересует не само востановление, оно будет делаться копированием backup на место рабочей, а достоверное установление факта, что рабочая база сломалась, перед запуском программы, и, что еще важнее, перед ее резервным копированием.

Видимо compact и его диагностика как раз для этого подходят.
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32212546
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, если таблица появилась - значит что-то сломалось.
Но если таблицы не появилось - это не значит что все хорошо.
Тебе в чем надо удостовериться-то? Что база гарантированно сломана, или что она гарантированно не сломана?

З.Ы. " оно будет делаться копированием backup на место рабочей "
Чую, что backup - это обычная копия с работающей базы
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32212548
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да backup чтука хорошая, но иногда база валится, а в ней потом еще
несколько дней работают.
т.е. надо проводить профилактику достаточно часто, иначе
и backup не помощник.

>Но если таблицы не появилось - это не значит что все хорошо.

теоретически да. на практике ни разу (за 8 лет) не было, чтобы после
restore+compact сказав ОК, база не заработала. хотя ...
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32212549
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да backup чтука хорошая, но иногда база валится, а в ней потом еще
несколько дней работают.
т.е. надо проводить профилактику достаточно часто, иначе
и backup не помощник.

>Но если таблицы не появилось - это не значит что все хорошо.

теоретически да. на практике ни разу (за 8 лет) не было, чтобы после
restore+compact сказав ОК, база не заработала. хотя ...
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32212550
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ручки дрожат, пора домой :)
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32212563
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, торможу.
Если нормально прошло и восстановление, и сжатие, то скорее всего все ок.
Правда, в экстремальных случаях приходится делать сначала сжатие, потом восстановление, потом снова сжатие. Но это уже совсем другая история.
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32212813
Elias
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
" Чую, что backup - это обычная копия с работающей базы "

Именно так. А что, есть варианты удобнее?

Дело в том, что программа будет запускаться ненадолго и, видимо, для внесения небольших изменений, поэтому резервное копирование при запуске, по-моему, наиболее простой вариант в этом случае.
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32213011
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё импорт тоже хоршая штука для проверки
часто именно при импорте можно отловить что именно грохнулось
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32213247
Elias
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Импорт... Интересно. А он только средствами ACCESS может быть выполнен или на OLE DB/ODBC как-то можно организовать? Или хотя бы какой-нибудь COM-объект из runtime?
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32214614
Elias
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так все-таки кто-нибудь знает как импорт организовать программно?
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32214617
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
DoCmd.TransferDatabase
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32214618
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну через OLE DB/ODBC это вряд ли получится сделать. Ты же не пытаешься через одбц запускать компиляцию приложения на C++?
Средствами аксеса - DoCmd.CopyObject
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32214619
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
:^) На выбор.
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32214739
Фотография Zenia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на DAO
Код: plaintext
1.
Opendatabase( "C:\...\...mdb" ).execute("SELECT * INTO Table2
FROM Table IN 'D:\...\...mdb');

только я еще этого кода не пробовал
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32214771
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Такое Opendatabase нехорошо, потому что не делается Close и засоряется память.
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32214778
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч, ты не пугай людей так.
Надо говорить "Close должен делаться, но иногда этого не происходит"
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32214796
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Close надо писать руками.

Set XXX = OpenDatabase(...)
...
XXX.Close

Или:

With OpenDatabase(...)
...
.Close
End With
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32214804
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не-а..
Он (Close) вроде как должен при установки переменной в Nothing сам происходить. Ну или при выходе из блока With. Или после окончания работы с неявно созданным объектом (Opendatabase("C:\...\...mdb").execute ....)
Это я так... занудствую потихоньку.
Канешна лучше руками все закрыть. Верить никому нельзя, а уж аксесу тем более.
...
Рейтинг: 0 / 0
Как проверить, что ACCESS база испортилась?
    #32214871
Elias
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"Ты же не пытаешься через одбц запускать компиляцию приложения на C++? "

ну так ведь я же сжимаю ресторю через ODBC, почему бы не импортировать?
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как проверить, что ACCESS база испортилась?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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