SQLite
 sql >> Baza danych >  >> RDS >> SQLite

SQLite zwrócił kod błędu 14

To może być trochę za późno, ale mam nadzieję, że pomoże to każdemu, kto ma ten problem (ponieważ nie mogę znaleźć ostatecznego rozwiązania).

Chyba znam przyczynę tej przyczyny (przynajmniej w moim przypadku). Przeglądanie DDMS --> Eksploratora plików , zdasz sobie sprawę, że Folder bazy danych (/data/data//databases/) nie istnieje, dlatego aplikacja nie może utworzyć pliku bazy danych w tym nieistniejącym folderze. Jeśli możesz w jakiś sposób utworzyć folder baz danych, możesz uniknąć tego problemu.

Ponieważ jestem leniwy, właśnie użyłem /data/data//files/ folderu kiedy jestem w trybie emulatora. Możesz pobrać pliki w następujący sposób:

context.getFilesDir().getPath()

To działało dla mnie pięknie w emulatorze.

Mam nadzieję, że to komuś pomoże.

Jeśli chcesz zobaczyć kod:

String dbFilename = "example.db";
try
{       
    File databaseFile = getDatabasePath(dbFilename);        
        SQLiteDatabase _db = SQLiteDatabase.openOrCreateDatabase(databaseFile);
} catch (Exception e)
{
    String databasePath =  getFilesDir().getPath() +  "/" + dbFilename;
    File databaseFile = new File(databasePath); 
    _db = SQLiteDatabase.openOrCreateDatabase(databaseFile);
}

EDYCJA:Próbowałem zalogować się do Facebooka (moja aplikacja ma integrację z FB) w folderze Emulator i /databases pojawił się po tym (i utrzymywał się). Nie jestem pewien, co się stało, ale jakoś można utworzyć ten folder. Coś, co mógłby rzucić inny ekspert w okolicy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android Room - Jak zresetować automatycznie wygenerowany klucz podstawowy tabeli przy każdym uruchomieniu aplikacji?

  2. Wyszukiwanie z akcentem w sqlite (Android)

  3. w SQLite

  4. Zaktualizuj wszystkie wiersze w kolumnie do nowej wartości

  5. Ujmij ciągi znaków w pojedyncze cudzysłowy w wynikach zapytania SQLite