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 Sou开发者_开发问答rce 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.
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"
I had this same error recently when I actually was trying to use the in memory version of SQLite.
I was setting up the connection as follows:
var connection = new SQLiteConnection("Filename=:memory:");
connection.Open();
And getting the error
Data Source cannot be empty. Use :memory: to open an in-memory
I then changed it to this code, note the 'SQL' part is no longer capitalised:
var connection = new SqliteConnection("Filename=:memory:");
connection.Open();
And now it works.
The working, non capitalised version is from the Microsoft.Data.Sqlite.SqliteConnection namespace where as the SQLite version is from System.Data.SQLite.SQLiteConnection (I had version 1.0.113.6 referenced).
You haven't provided a data source name, aka where the sqlite file exists.
Because your Data Source is empty. Add the Data Source paramater to your connection string. before opening the Sqlite database.
加载中,请稍侯......
精彩评论