Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I connect to SQLite db file from c#?

I am trying to connect to a sqllite db from with a c# application. I have never worked with SQLLite before.

var connectionString = @"data source='C:\TestData\StressData.s3db'";
            connection = new SQLiteConnection(connectionString);
            connection.Open();

When i attempt to open the connection I get the following exception:

System.NotSupportedException: The given path's format is not supported.
   at System.Security.Util.StringExpressionSet.CanonicalizePath(String path, Boolean needFullPath)
   at System.Security.Util.StringExpressionSet.CreateListFromExpressions(String[] str, Boolean needFullPath)

What am I doing wrong?

Thanks..

Nick

Update:

I changed 'data source' to 'DataSource' as suggested to me. Now I receive a new error:

After changing this I get a new error: System.ArgumentException: Data Source cannot be empty. Use :memory: to open an in-memory database at System.Data.SQLite.SQLiteConnection.Open()

Any more suggestions?

like image 499
Nick Avatar asked Jun 14 '10 16:06

Nick


People also ask

How do I access a SQLite database file?

Open a command prompt (cmd.exe) and 'cd' to the folder location of the SQL_SAFI. sqlite database file. run the command 'sqlite3' This should open the SQLite shell and present a screen similar to that below.

How do I access SQLite from command line?

Start the sqlite3 program by typing "sqlite3" at the command prompt, optionally followed by the name the file that holds the SQLite database (or ZIP archive). If the named file does not exist, a new database file with the given name will be created automatically.


2 Answers

Got it..

"data source=c:\TestData\StressData.s3db; Version=3;"

Looks like the 'Version' attribute is not optional. Interesting that the .NET provider does not show this in the designer property window.

like image 65
Nick Avatar answered Oct 13 '22 01:10

Nick


According to this, data source should be DataSource

like image 35
Brendan Long Avatar answered Oct 12 '22 23:10

Brendan Long