トップ  >  サンプルソース  >  ACCESSパスワード変更(C#/VB.NET)

ACCESSパスワード変更(C#/VB.NET)

2010年09月26日

ACCESS(アクセス)MDBのパスワードを変更するサンプル(ソース/コード)です。System.Data.OleDbを使用しています。

ACCESS(アクセス)MDBのパスワードを変更するSQLは、"ALTER DATABASE PASSWORD [NewPassword] [OldPassword]"です。

ところで、このサンプルではプロバイダとしてMicrosoft.Jet.OLEDB.4.0を使用していますが、これはx86(32ビット)でのみ有効でx64(64ビット)では使用出来ません。x64(64ビット)のパソコンでMicrosoft.Jet.OLEDB.4.0を使用するためには、x86(32ビット)モードでコンパイルする必要があります。x86(32ビット)モードでコンパイルするためには、[プロジェクト]の[プロパティ]で[コンパイル]の[詳細コンパイルオプション]の[ターゲットCPU]を[x86]にする必要があります。

関連するサンプルはこちらです。
ACCESS検索/更新/削除(C#/VB.NET)
ACCESS最適化/修復(C#/VB.NET)

' -----------------------------------------------------------
' ACCESS DBのパスワードを変更するサンプル(VB.NET/VS2005)
' (必要)Imports System.Data.OleDb
' [ターゲットCPU]を[x86]でビルドしてください
Private Sub Button1_Click( _
    ByVal sender As System.Object, _
    ByVal e As System.EventArgs) _
    Handles Button1.Click

    Dim dbCon As OleDbConnection
    Dim dbCmd As OleDbCommand

    ' 旧パスワード
    Dim oldp As String = ""
    ' 新パスワード
    Dim newp As String = "abc"

    ' ACCESS DB オープン
    dbCon = New OleDbConnection()
    Dim cst As String = ""
    cst = cst & "Provider=Microsoft.Jet.OLEDB.4.0;"
    cst = cst & "Data Source=" & "D:\Temp\db1.mdb;"
    If oldp <> "" Then
        cst = cst & _
        "Jet OLEDB:Database Password=" & oldp & ";"
    End If
    cst = cst & "Mode=Share Exclusive;"
    dbCon.ConnectionString = cst
    dbCon.Open()

    ' 旧パスワードSQL生成
    If oldp = "" Then
        oldp = "NULL"
    Else
        oldp = "[" & oldp & "]"
    End If

    ' 新パスワードSQL生成
    If newp = "" Then
        newp = "NULL"
    Else
        newp = "[" & newp & "]"
    End If

    ' ACCESS DB パスワード変更
    Dim sql As String = _
        "ALTER DATABASE PASSWORD " & newp & " " & oldp
    dbCmd = New OleDbCommand( sql, dbCon)
    dbCmd.ExecuteNonQuery()

    ' ACCESS DB クローズ
    dbCon.Close()
    dbCon.Dispose()
End Sub
' -----------------------------------------------------------

// ----------------------------------------------------------
// ACCESS DBのパスワードを変更するサンプル(C#.NET/VS2005)
// (必要)using System.Data.OleDb;
// [プラットフォーム ターゲット]を[x86]でビルドしてください
private void Button1_Click(object sender, EventArgs e)
{
    OleDbConnection dbCon;
    OleDbCommand dbCmd;

    // 旧パスワード
    String oldp  = "";
    // 新パスワード
    String newp  = "abc";

    // ACCESS DB オープン
    dbCon = new OleDbConnection();
    String cst = "";
    cst = cst + "Provider=Microsoft.Jet.OLEDB.4.0;";
    cst = cst + "Data Source=" + @"D:\Temp\db1.mdb;";
    if (oldp != "")
    {
        cst = cst +
        "Jet OLEDB:Database Password=" + oldp + ";";
    }
    cst = cst + "Mode=Share Exclusive;";
    dbCon.ConnectionString = cst;
    dbCon.Open();
    
    // 旧パスワードSQL生成
    if (oldp == "")
    {
        oldp = "NULL";
    }
    else
    {
        oldp = "[" + oldp + "]";
    }

    // 新パスワードSQL生成
    if (newp == "")
    {
        newp = "NULL";
    }
    else
    {
        newp = "[" + newp + "]";
    }

    // ACCESS DB パスワード変更
    String sql =
        "ALTER DATABASE PASSWORD " + newp + " " + oldp;
    dbCmd = new OleDbCommand(sql, dbCon);
    dbCmd.ExecuteNonQuery();

    // ACCESS DB クローズ
    dbCon.Close();
    dbCon.Dispose();
}
// ----------------------------------------------------------
スポンサーサイト

ACCESS最適化/修復(C#/VB.NET) | トップページへ戻る | ショートカット作成(C#/VB.NET)

このページのトップに戻る

コメント

名前
題名
メールアドレス
WEBサイト
 
コメント
パスワード
  管理者にだけ表示を許可する

このページのトップに戻る

トラックバック

このページのトップに戻る