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

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

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

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

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

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

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

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

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

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

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

Или:

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

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


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