Search code examples
c#sqliteconnection-string

C# - How to copy SQLite db from one path and paste it to another path?


Using below code, how can I set the code in SQLiteConnetion object ?

public SQLiteConnection dbConnection = new SQLiteConnection();

string fileName = "test.s3db";
        string sourcePath = @"E:\File\DMS\DAL\Model";
        string targetPath = @"C:\ProgramData\CompanyName\appName";
        string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
        string destFile = System.IO.Path.Combine(targetPath, fileName);
        if (!System.IO.Directory.Exists(targetPath))
        {
            System.IO.Directory.CreateDirectory(targetPath);

        }
        System.IO.File.Copy(sourceFile, destFile, true);
        if (System.IO.Directory.Exists(sourcePath))
        {
            string[] files = System.IO.Directory.GetFiles(sourcePath);
        }

I want to automatically create a DB path if the path does not exist.

dbConnection = ??

Solution

  • I have this method to copy database:

    public static void BackupDatabase(string sourceFile, string destFile)
    {
        using (SQLiteConnection source = new SQLiteConnection(String.Format("Data Source = {0}", sourceFile)))
        using (SQLiteConnection destination = new SQLiteConnection(String.Format("Data Source = {0}", destFile)))
        {
            source.Open();
            destination.Open();
            source.BackupDatabase(destination, "main", "main", -1, null, -1);
        }
    }