vb.netsqlitesystem.data.sqlitesqlite-journal-mode

System.data.sqlite - Activating WAL Journal Mode


I am using the System.data.sqlite.dll in my vb.net program. And for the life of me I can't figure out the code to activate WAL mode.

Do I activate this command right after I Create the DB or with every new SQLiteConnection.

And if so what code would need to be used right now im using something like:

cnn As New SQLiteConnection(String.Format("Data Source={0}\{1};PRAGMA jounal_mode=WAL;", Application.StartupPath, DBName))

is this how that PRAGMA command should be used?


Solution

  • You can always use the SQLiteConnectionStringBuilder class to do the job for you:

        SQLiteConnectionStringBuilder connBuilder = new SQLiteConnectionStringBuilder();
        connBuilder.DataSource = filePath;
        connBuilder.Version = 3;
        //Set page size to NTFS cluster size = 4096 bytes
        connBuilder.PageSize = 4096;
        connBuilder.CacheSize = 10000;
        connBuilder.JournalMode = SQLiteJournalModeEnum.Wal;
        connBuilder.Pooling = true;
        connBuilder.LegacyFormat = false;
        connBuilder.DefaultTimeout = 500;
        connBuilder.Password = "yourpass";
    
    
        using(SQLiteConnection conn = new SQLiteConnection(connBuilder.ToString()))
        {
        //Database stuff
        }