Konwersja .db do .db-shm

Konwersja .db do .db-shm
Marcin.Miga
  • Rejestracja:prawie 17 lat
  • Ostatnio:10 dni
  • Postów:2792
0

Mam na dwóch różnych Androidach zainstalowaną taką samą aplikację, w tej samej wersji. Niestety, backup w jednej nie otwiera się w drugiej komórce. Zauwazyłem, że w jednej pliki mają rozszerzenie db (SQLite), a w drugiej db-shm i db-wal.
I właśnie z db do db-shm nie chce mi przenieść backipa. Jako, że mam tam troche danych, to nie chce mi się przepisywać tego.
Czy jest jakieś narzędzie, które potrafi z db zrobić db-shm, czy też to nic nie da? Jak inaczej mogę wepchnąć dane do nowej bazy?

edytowany 1x, ostatnio: Riddle
Marius.Maximus
  • Rejestracja:ponad 14 lat
  • Ostatnio:3 dni
  • Postów:2100
1

--
Nie przyjmuję reklamacji za moje rady, używasz na własną odpowiedzialność.
Programowanie bez formatowania to jak chodzenie ze spodniami spuszczonymi na kostki. Owszem da się ale po pierwsze nie wygodne, po drugie nieprzyzwoicie wygląda.
Przed zaczęciem nowego wątku przeczytam problem XY
Marcin Rekut
  • Rejestracja:około 2 lata
  • Ostatnio:około 2 lata
  • Postów:8
0

Rozszerzenia db-shm i db-wal, które widzisz w drugiej komórce, to pliki, które są związane z mechanizmem journalingu w SQLite. Pliki te są tworzone wtedy, gdy baza danych jest otwarta w trybie "Write-Ahead Logging" (WAL), który jest domyślnie włączony w nowych wersjach SQLite.

W przypadku, gdy przenosisz backup z jednej komórki do drugiej, nie musisz martwić się o pliki db-shm i db-wal, ponieważ te pliki są generowane automatycznie i będą się różnić w zależności od sposobu, w jaki aplikacja korzysta z bazy danych.

W przypadku, gdy chcesz przenieść dane z jednej bazy danych do drugiej, możesz skorzystać z narzędzi takich jak SQLite Database Browser lub DB Browser for SQLite. Możesz użyć tych narzędzi do utworzenia kopii bazy danych, a następnie importować dane z kopii do nowej bazy danych.

Aby utworzyć kopię bazy danych w SQLite Database Browser, wykonaj następujące kroki:

Otwórz aplikację SQLite Database Browser.
Kliknij przycisk "Open Database" i wybierz plik z bazą danych, którą chcesz skopiować.
Kliknij przycisk "File" i wybierz opcję "Export".
Wybierz format eksportu, np. CSV, SQL lub SQLite.
Wybierz lokalizację i nazwę pliku, w którym chcesz zapisać kopię bazy danych.
Kliknij przycisk "OK", aby rozpocząć proces eksportu.

Aby zaimportować dane z kopii do nowej bazy danych, wykonaj następujące kroki:

Otwórz aplikację SQLite Database Browser.
Kliknij przycisk "Open Database" i wybierz plik z nową bazą danych.
Kliknij przycisk "File" i wybierz opcję "Import".
Wybierz format importu, np. CSV, SQL lub SQLite.
Wybierz lokalizację i nazwę pliku, z którego chcesz zaimportować dane.
Wybierz tabelę, do której chcesz zaimportować dane.
Kliknij przycisk "OK", aby rozpocząć proces importu.

Marcin.Miga
  • Rejestracja:prawie 17 lat
  • Ostatnio:10 dni
  • Postów:2792
0

Wreszcie udało mi się z tym problemem uporać. Okazało się, że jeden plik był jakoś dziwnie uszkodzony, że aplikacja go nie widziała. Zrobiłem backup w aplikacji (prawie że pustej bazy danych) i w DBeaver przekopiowałem do tego backupu odpowiednie tabelki ze starej bazy. (swoją drogą DBeaver ma za...ste narzędzie do przenoszenia danych pomiędzy bazami )
I poszło :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.