What does “Data Source cannot be empty. Use :memory: to open an in-memory database” mean?
-
27-09-2019 - |
Question
I recently converted my SQL Server database into SQLite DB. But when I try to open my SQLite using .Open()
it throws me this error:
Data Source cannot be empty. Use :memory: to open an in-memory database
Edit: added connection string:
ConnectionString = @"Data Source=D:\XXX.db;Version=3";
connection = new SQLiteConnection(connectionString);
connection.Open();
Why do I get this? I converted the same SQL Server database to SQL CE and mySQL and I didn't get these errors.
Solution
There's a space after your data source: Data Source= D:\XXX.db
. Also, in your copy/paste, there's no closing quote to the connection string. Here's a connection string that works for me for the testing tool:
@"Data Source=C:\Temp\Test.db3;Pooling=true;FailIfMissing=false;Version=3"
OTHER TIPS
Because your Data Source is empty. Add the Data Source paramater to your connection string. before opening the Sqlite database.
You haven't provided a data source name, aka where the sqlite file exists.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow