SQLiteのデータベースファイルに、パスワードを設定するとセキュリティを上げれます。
※SQliteのデータベースファイルをパスワードで暗号化する機能は System.Data.SQLiteが 1.0.114 以降のバージョンでは使えないらしい。
c# – ファイルまたはアセンブリ ‘System.Data.SQLite.SEE.License、バージョン =1.0.117.0 – スタック オーバーフローを読み込めませんでした
パスワード有りのSQLiteデータベースファイルを作成するには、SQLiteのパスワードに対応している PupSQLiteツールを使います。PupSQLiteは下記からダウンロードできます。
「PupSQLite」SQLiteのデータベースをGUIで操作できる高機能管理ソフト – 窓の杜 (impress.co.jp)
SQLiteのパスワード有りデータベースファイルへ接続し、操作するC#のテストツールを作成しました。
ソースコードは GitHub で公開しています。
パスワード付SQLiteデータベースファイルに接続する際のコネクションストリング
1 2 3 |
public const string SQLITE_CONNECTION_STRING = "Data Source=..\\..\\..\\TestData\\test.db;New=False;UTF8Encoding=True;Version=3;Password=pass;Enlist=False;"; |
DB処理サンプル
SQLiteデータベースファイルに対して Delete文を実行しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
public partial class Form1 : Form { public const string SQLITE_CONNECTION_STRING = "Data Source=..\\..\\..\\TestData\\test.db;New=False;UTF8Encoding=True;Version=3;Password=pass;Enlist=False;"; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { using (var conn = new SQLiteConnection(SQLITE_CONNECTION_STRING)) { conn.Open(); using (SQLiteCommand command = conn.CreateCommand()) { command.CommandText = "delete from table1;"; //command.CommandText = "VACUUM tempGroup;"; command.ExecuteNonQuery(); } conn.Close(); } } } |
コメント