在C#中,可以使用OLEDB連接到Access數據庫并執行SQL命令來實現備份
首先,確保已經安裝了適當版本的Microsoft Access Database Engine。根據你的操作系統和Access數據庫版本,你需要安裝32位或64位的引擎。下載地址:https://www.microsoft.com/en-us/download/details.aspx?id=54920
在C#項目中添加對System.Data.OleDb
的引用。
使用以下代碼實現Access數據庫備份:
using System;
using System.Data.OleDb;
namespace AccessBackup
{
class Program
{
static void Main(string[] args)
{
string sourceFilePath = @"C:\path\to\your\source.accdb";
string backupFilePath = @"C:\path\to\your\backup.accdb";
try
{
BackupAccessDatabase(sourceFilePath, backupFilePath);
Console.WriteLine("Access數據庫備份成功!");
}
catch (Exception ex)
{
Console.WriteLine("備份過程中出現錯誤: " + ex.Message);
}
}
public static void BackupAccessDatabase(string sourceFilePath, string backupFilePath)
{
// 創建OLEDB連接字符串
string connectionString = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={sourceFilePath};Persist Security Info=False;";
// 創建OLEDB連接
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
// 打開連接
connection.Open();
// 創建備份數據庫的SQL命令
string sql = $"BACKUP DATABASE TO '{backupFilePath}'";
// 創建OLEDB命令
using (OleDbCommand command = new OleDbCommand(sql, connection))
{
// 執行命令
command.ExecuteNonQuery();
}
// 關閉連接
connection.Close();
}
}
}
}
將sourceFilePath
變量設置為你的Access數據庫文件路徑,將backupFilePath
變量設置為備份文件的路徑。運行此代碼后,源數據庫將被備份到指定的備份文件中。
注意:這個方法僅適用于Access 2007及更高版本(.accdb文件)。如果你使用的是Access 2003(.mdb文件),請將連接字符串中的Provider
值更改為Microsoft.Jet.OLEDB.4.0
。