How to connect to sqlite database with password

ddarellis picture ddarellis · Mar 6, 2012 · Viewed 25.5k times · Source

I have a sqlite database and I want to connect from my C# program using a password for the database. I am using Navicat and I set encrypt database file with password "test" and then by code my connection string is:

_connection = new SQLiteConnection("Data Source=MedExpress.db;Version=3;Password=\"test\";");

or

_connection = new SQLiteConnection("Data Source=MedExpress.db;Version=3;Password=test;");

But this does not work.

The error is: File opened that is not a database file file is encrypted or is not a database

I can connect to the database without a password like this:

_connection = new SQLiteConnection("Data Source=MedExpress.db;Version=3;");

My question is how can I set a password to a sqlite database and connect from C# program using System.Data.SQLite

Answer

Prince Jea picture Prince Jea · Mar 6, 2012

This is the connection string with password

Data Source=filename;Version=3;Password=myPassword;

As you stated that you use navicat to set the sqlite encryption. Encryption means that you've encrypted the database it's different from setting a password to a database..

in setting a password to a database try this code..

//create file 
SQLite.SQLiteConnection.CreateFile("c:\\mydatabase file.db3")
Dim cn As New SQLite.SQLiteConnection
//set password
cn.ChangePassword("paxword")
//remove password
cn.ChangePassword("")

Remove the encryption first ..