|
|
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
Делаю резервирование/восстановление access базы для программы, которая работает с ней через ODBC. Перед запуском нужно проверить не испортилась ли база каким-либо образом. Чтобы сразу запустить восстановление и не делать резервирования испорченной. Хотелось бы проверять программно как можно тщательнее, а не простым коннектом/дисконнектом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 13:56 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
Если тебе нужно как можно тщательней - восстанавливай и сжимай ее безо всяких проверок. Индексы могут полететь так, что ты это и не отсечешь програмно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 13:59 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
кстати сжатие тоже не всегда помогает. т.е. оно может чего-то и не восстановить. зато при этом Ак создает спец табличку, где все проблемы перечислены. Удобная штука. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 14:15 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
Иногда сжатие и невозможно. Если в результате краха пропали записи, учавствующие в связи 1:М со стороны 1 (с обеспечением целостности данных), то надо восстанавливать базу, грохать связь, искать оторванные ссылки, убивать кривые данные, восстанавливать связь, сжимать базу. Наблюдалось, правда, только под аксесом 2.0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 14:24 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
Т.е. если после DB_COMPACT в базе появилась таблица с названием [...] (где-то видел, но не помню), то можно достоверно утверждать, что в базе что-то испортилось? Меня больше интересует не само востановление, оно будет делаться копированием backup на место рабочей, а достоверное установление факта, что рабочая база сломалась, перед запуском программы, и, что еще важнее, перед ее резервным копированием. Видимо compact и его диагностика как раз для этого подходят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 18:36 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
Ага, если таблица появилась - значит что-то сломалось. Но если таблицы не появилось - это не значит что все хорошо. Тебе в чем надо удостовериться-то? Что база гарантированно сломана, или что она гарантированно не сломана? З.Ы. " оно будет делаться копированием backup на место рабочей " Чую, что backup - это обычная копия с работающей базы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 18:42 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
да backup чтука хорошая, но иногда база валится, а в ней потом еще несколько дней работают. т.е. надо проводить профилактику достаточно часто, иначе и backup не помощник. >Но если таблицы не появилось - это не значит что все хорошо. теоретически да. на практике ни разу (за 8 лет) не было, чтобы после restore+compact сказав ОК, база не заработала. хотя ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 18:49 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
да backup чтука хорошая, но иногда база валится, а в ней потом еще несколько дней работают. т.е. надо проводить профилактику достаточно часто, иначе и backup не помощник. >Но если таблицы не появилось - это не значит что все хорошо. теоретически да. на практике ни разу (за 8 лет) не было, чтобы после restore+compact сказав ОК, база не заработала. хотя ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 18:49 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
ручки дрожат, пора домой :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 18:50 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
Да, торможу. Если нормально прошло и восстановление, и сжатие, то скорее всего все ок. Правда, в экстремальных случаях приходится делать сначала сжатие, потом восстановление, потом снова сжатие. Но это уже совсем другая история. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 19:21 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
" Чую, что backup - это обычная копия с работающей базы " Именно так. А что, есть варианты удобнее? Дело в том, что программа будет запускаться ненадолго и, видимо, для внесения небольших изменений, поэтому резервное копирование при запуске, по-моему, наиболее простой вариант в этом случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2003, 16:48 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
ещё импорт тоже хоршая штука для проверки часто именно при импорте можно отловить что именно грохнулось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2003, 20:10 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
Импорт... Интересно. А он только средствами ACCESS может быть выполнен или на OLE DB/ODBC как-то можно организовать? Или хотя бы какой-нибудь COM-объект из runtime? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2003, 11:24 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
Так все-таки кто-нибудь знает как импорт организовать программно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 14:45 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
DoCmd.TransferDatabase ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 14:51 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
Ну через OLE DB/ODBC это вряд ли получится сделать. Ты же не пытаешься через одбц запускать компиляцию приложения на C++? Средствами аксеса - DoCmd.CopyObject ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 14:51 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
:^) На выбор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 14:52 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
на DAO Код: plaintext 1. только я еще этого кода не пробовал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 16:04 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
Такое Opendatabase нехорошо, потому что не делается Close и засоряется память. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 16:21 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
Саныч, ты не пугай людей так. Надо говорить "Close должен делаться, но иногда этого не происходит" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 16:22 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
Close надо писать руками. Set XXX = OpenDatabase(...) ... XXX.Close Или: With OpenDatabase(...) ... .Close End With ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 16:39 |
|
||
|
Как проверить, что ACCESS база испортилась?
|
|||
|---|---|---|---|
|
#18+
Не-а.. Он (Close) вроде как должен при установки переменной в Nothing сам происходить. Ну или при выходе из блока With. Или после окончания работы с неявно созданным объектом (Opendatabase("C:\...\...mdb").execute ....) Это я так... занудствую потихоньку. Канешна лучше руками все закрыть. Верить никому нельзя, а уж аксесу тем более. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 16:46 |
|
||
|
|

start [/forum/topic.php?fid=45&tid=1680381]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
146ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 425ms |

| 0 / 0 |
