SQLite - Could not open database file
23,113
Does the path folder path that you are providing to SQLite exist? If you haven't created the CanFindLocation
folder then opening a connection to that path will fail.
Try:
string applicationFolderPath = System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "CanFindLocation");
// Create the folder path.
System.IO.Directory.CreateDirectory(applicationFolderPath);
string databaseFileName = System.IO.Path.Combine(applicationFolderPath, "CanFindLocation.db");
SQLite.SQLite3.Config(SQLite.SQLite3.ConfigOption.Serialized);
var db = new SQLiteConnection (databaseFileName);
Author by
Simon
Updated on April 10, 2020Comments
-
Simon about 4 years
I am coding a Xamarin Android application, and am getting an error when trying to create a SQLite database.
Here is my code:
string applicationFolderPath = System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "CanFindLocation"); string databaseFileName = System.IO.Path.Combine(applicationFolderPath, "CanFindLocation.db"); SQLite.SQLite3.Config(SQLite.SQLite3.ConfigOption.Serialized); var db = new SQLiteConnection (databaseFileName);
Here is the error that I am getting:
SQLite.SQLiteException: Could not open database file: /data/data/com.xamarin.docs.android.mapsandlocationdemo2/files/CanFindLocation/CanFindLocation.db (CannotOpen)
I have the same code working in another Xamarin application and would like to know if the exception has something to do with the name of the package?
Thanks in advance
-
user230910 over 8 yearsThanks, wish I could upvote several times, took hours to find this post!
-
Gilberto B. Terra Jr. almost 6 yearsI am getting the same error, ... But SQLite.SQLite3 doesnt have "Config" method, why? I am using "sqlite-net-pcl (1.4.118)" and "Xamarin.Forms(3.1.0)"
-
Pierre over 5 yearsI found that whilst debugging sometimes, the Path magically doesn't exist, then I run again and it works. on and off
-
matthewrdev over 4 yearsHilariously, I've just re-discovered this via Google and solved my own issue with my own answer without realising initially... Doh!