NonSoft

アクセスMDBの最適化方法(VB6/VB.NET/C#.NET)


 ち〜な〜み〜に〜

アクセスMDBの最適化方法(VB6/VB.NET/C#.NET) 2007/11/16
とりあえず手っ取り早く使えるデータベースとしてアクセスMDBがありますが、
定期的に最適化しないとMDBファイルが壊れる?、アクセス速度が遅くなる?などの心配があります。

そこでVBからMDBを使用している事を例に最適化方法を調べて見ました。

プログラムの実行過程の適当な所で定期的に最適化する事で不安が解消されるのでは無いでしょうか?

最適化前にバックアップ(コピー)を取る事にで、より安定したデータベースになると思います。

このサンプルは[Microsoft Jet and Replication Objects Library]を参照設定する必要があります。

' VB6でアクセスMDBを最適化する方法
Private Sub Command1_Click()
    Dim jroJET As New JRO.JetEngine
    jroJET.CompactDatabase _
        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\temp\old.mdb", _
        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\temp\new.mdb"
End Sub

' VB.NETでアクセスMDBを最適化する方法
Private Sub Button1_Click( _
    ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim jroJet As New JRO.JetEngine
    jroJet.CompactDatabase( _
        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Temp\old.mdb", _
        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Temp\new.mdb")
End Sub

// C#.NETでアクセスMDBを最適化する方法
private void Button1_Click(object sender, EventArgs e)
{
    JRO.JetEngine jroJet = new JRO.JetEngine();
    jroJet.CompactDatabase(
        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Temp\\old.mdb",
        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Temp\\new.mdb");
}