User Tools

Site Tools


cz:manual:advanced:map_tools:corrupted_sqlite

Oprava poškozené SQLite databáze


SQLite databáze jsou na přístrojích s Androidem vesměs velmi stabilní. Nicméně, může se stát, že dojde k jejich poškození kvůli jejich nesprávnému zavření, poškození SD karty nebo při vynuceném ukončení (killing) Locusu systémem. Výsledkem je, že Locus takový soubor nemůže otevřít nebo se databáze samovolně smaže - to se týká jak mapových souborů, tak bodů a tras, všechno jsou to databáze SQLite. Naštěstí známe způsob, kterým se ve většině případů taková porucha dá spravit.

Jak na to?

Instantní řešení pro uživatele MS Windows

Tento postup řeší poškození souboru 'tracks.db', který se nachází v adresáři Locus/data/database. Soubor obsahuje trasy a jeho poškození ovlivňuje i zobrazování bodů:

  1. Stáhněte tento .ZIP soubor a rozbalte jej
  2. Zkopírujte tracks.db do rozbalené složky
  3. Spusťte fix_tracks.bat
  4. Zkopírujte opravený soubor tracks.db do jeho původního umístění (tzn. do složky Locus/data/database)

Obecné řešení

Následující kroky vyžadují zkušenost s prací s příkazovým řádkem DOS (cmd).

  • Zkopírujte poškozený soubor do PC
  • Stáhněte SQLite-tools z http://www.sqlite.org/download.html
  • Rozbalte je a poškozený soubor umístěte do stejné složky jako sqlite3.exe
  • Spusťte “cmd” a navigujte do složky s poškozeným souborem
  • Spusťte
>sqlite3.exe filename.db "PRAGMA integrity_check"

pro ověření databáze. Výsledkem bude pravděpodobně chybové hlášení “Error: database disk is malformed.”

  • Spusťte
>sqlite3.exe filename.db ".dump" | sqlite3 new.db
  • Pokud zopakujete kontrolu integrity na novém souboru new.db, výsledkem by mělo být “OK”.
  • Přejmenujte “new.db” na původní název poškozeného souboru a zkopírujte jej do jeho původního umístění

Příklad:

Bohužel, tento postup nezaručí úspěch vždy. Nejsnazší a nejspolehlivější cesta je obnovení databáze ze zálohy.

cz/manual/advanced/map_tools/corrupted_sqlite.txt · Last modified: 2019/01/22 08:20 (external edit)