Tekst informacyjny o polityce Cookies Close   
    
 
         
• 1. Strona główna
• 2. Kontakt: e-Mail
 
         
• 1. Baza danych
• 2. Tabele i kwerendy
• 3. Formularze
• 4. Raporty
• 5. Moduły i makra
• 6. Obsługa błędów
 
    

II.   VBA 

    
• 1. Okna Accessa
• 2. Okna Formularzy
• 3.Okna Dialogowe
• 4. Tekst
• 5. Liczby
• 6. Pliki
• 7. Inne
 
    

III.   API 

    
• 1. Ogólnie o API
• 2. Funkcje API
• 3. System
• 4. Praca z oknami
• 5. Okna dialogowe
• 6. API - Inne
 
         
• 1. Bitmapy 24 Bit
• 2. GDI i HDC
• 3. Kody kreskowe
• 4. Formant Image
• 5. FreeImage.dll
 
    

V.   Inne 

    
• 1. Shell i MsDOS
• 2. Kontrolki
• 3. ६ԼҚ ਸ
• 4. Unikod

 
Odwiedzin:

Logo AccessFAQ• I.1. Access - baza danych cz. 1 •

1.1 Jak pobrać ścieżkę folderu bazy danych ?
1.2 Jak pobrać nazwę pliku bazy danych ?
1.3 Jak otworzyć drugą bazę danych ?
1.4 Jak pokazać (ukryć) okno bazy danych ?
1.5 Jak sprawdzić, czy baza danych otwarta jest na wyłączność ?
1.6 Jak zmienić ("usunąć") pojawiającą się podczas startu bitmapę Accessa ?
1.7 Zniknęły mi niektóre obiekty w oknie bazy => Opcje bazy danych (SetOption) ?
1.8 Jak zmienić ikonę i tytuł okna Accessa, jak zabezpieczyć bazę przed klawiszem SHIFT => Opcje startowe bazy (Autostart) ?
1.9 Zabezpieczyłem bazę danych (plik *.mdb) za pomocą opcji startowych i nie mogę wejść w tryb projektowania. Co robić ?
1.10 Jak otworzyć bazę zabezpieczoną hasłem ?
1.11 Jak uniemożliwić otwarcie drugiej instancji bazy ?
1.12 Jak sprawdzić, czy jest otwarta druga instancja MS Access ?
1.13 Jak zapamiętać dane konfiguracyjne by zawsze były dostępne ?
1.14 Jak wylistować wszystkie utworzone obiekty w bazie ?
1.15 Jak odzyskać uszkodzona bazę, (plik bazy istniejący przed ostatnią defragmentacją) ?

1.15 Jak odzyskać uszkodzona bazę, (plik bazy istniejący przed ostatnią defragmentacją) ?

grupa: pl.comp.bazy-danych.msaccess
wątek: Była sobie baza ...
przedstawił: Zbigniew Bratko



<cyt>
Była sobie jednostanowiskowa baza A2003, wielkość ok. 40MB, prawdopodobnie plik *.mde, ale ze zmienionym (zapewne dla zmyłki) rozszerzeniem na *.mdb. Nie była podzielona na Frontend/Backend. Prawdopodobnie miała ustawioną opcję kompaktuj przy zamknięciu. Tylko nie pytajcie, czy backup był robiony codziennie.
Przy próbie otwarcia bazy Access zgłasza komunikat nierozpoznany format bazy. Oczywiście żaden Access nie otwiera tej bazy. Po podglądnięciu pliku w edytorze Hex widać tylko 40 MB zer Chr(0), (nie mylić z cyfrą 0).

Jak odzyskać uszkodzoną bazę, (plik bazy istniejący przed ostatnią defragmentacją) ?

</cyt>

Aby odpowiedzieć na to pytanie, prześledzimy co się dzieje w folderze z bazą, podczas procesu defragmentacji testowej bazy dbTestDoDef.mdb.

Folder z plikiem bazy do defragmentacji
1. Zawartość folderu bazy przed defragmentacją
- plik dbTestDoDef.mdb ma 49 276 KB
Folder bazy trakcie defragmentacji
2. Folder bazy w trakcie defragmentacji
- baza zostaje zamknięta, utworzony zostaje plik db1.bdb o wielkości 0 KB
Folder bazy trakcie defragmentacji
3. Folder bazy w trakcie defragmentacji
- plik db1.bdb ma wielkość 27 324 KB
Folder bazy trakcie defragmentacji
4. Folder bazy w trakcie defragmentacji
- plik db1.bdb ma ostateczną wielkość 27 458 KB
Folder bazy po defragmentacji
5. Folder bazy po defragmentacji
- plik dbTestDoDef.mdb został usunięty, a plik db1.bdb zmienił nazwę na dbTestDoDef.mdb i baza została ponownie otwarta.
*) proces prawdopodobnie przebiega troszeczkę inaczej

Aby dokładniej zorientować się, co działo się w folderze bazy, uruchomiłem program do odzyskiwania danych DM Disk Editor and Data Recovery (DMDE) 2.0 Full Edition.

DM Disk Editor and Data Recovery

Przebadałem dysk (dla uproszczenia i przyspieszenia testu bazę umieściłem na pendrivie 256 MB w nowo utworzonym folderze). Poniżej znajduje się lista plików jakie (teoretycznie) mogą zostać odzyskane z folderu defragmentowanej bazy danych.

DM Disk Editor and Data Recovery

Jak widzimy, w folderze znajduje się usunięty, tymczasowy plik db1.bdb (_B1.MDB.) oraz oryginalny plik bazy przed defragmentacją dbTestDoDef.mdb (Size: 50 462 720 B).

*)
Czyli końcowy etap defragmentacji opisany w punkcie 5. miał nieco inny przebieg. Po defragmentacji oryginalny plik bazy dbTestDoDef.mdb zostaje usunięty, a plik tymczasowy db1.bdb zostaje przekopiowany jako plik dbTestDoDef.mdb i następnie usunięty z dysku.

Spróbujemy odzyskać te dwa opisywane pliki. Zaznaczamy checkboxy przy nazwach plików, klikamy prawym przyciskiem myszy, z menu podręcznego wybieramy " Odzyskaj " i wskazujemy folder C:\DefragOdzysk\. Folder docelowy musi bezwzględnie znajdować się na innym dysku, ponieważ w trakcie odzyskiwania (zapisywania odzyskiwanego pliku) może dojść do nadpisania miejsc na dysku, gdzie znajdują się odzyskiwane pliki .

Folder z odzyskanymi plikami
Folder C:\DefragOdzysk\ z odzyskanymi plikami.

Oba pliki są prawidłowymi plikami (kopiami) naszej defragmentowanej bazy. Otwierają się bez problemu i pobieżne testy wykazały, że najprawdopodobniej wszystko dobrze działa.

UWAGA:
    Jeżeli nie przeprowadzimy operacji odzyskiwania plików w miarę szybko (najlepiej bezpośrednio po defragmentacji), miejsce na dysku, gdzie były zapisane pliki przewidziane do odzyskiwania, może zostać nadpisane przez dowolną aplikacje działająca (zapisująca) na dysku, ponieważ System traktuje ten obszar jako nie zawierający danych.

Poniżej znajduje się "zawartość" folderu bazy po wykonaniu 5 defragmentacji bazy dbTestDoDef.mdb (przed każdą defragmentacją zmieniałem dane w tabelach bazy, usuwałem bądź dodawałem obiekty OLE w tabeli.


DM Disk Editor and Data Recovery

Odzyskany plik _B1.MDB z najpóźniejszą datą modyfikacji jest prawidłowo działajacą (zdefragmentowaną) bazą macierzystą dbTestDoDef.mdb.

 ΔΔΔ