我可以将用户从一个ASP .Net成员资格数据库移动到具有不同应用程序ID的另一个

时间:2012-06-19 13:32:35

标签: c# asp.net sql-server-2008 asp.net-membership membership-provider

是否可以将用户从一个ASP .Net成员资格数据库移动到另一个具有不同应用程序ID的数据库?两个系统都使用了passwordformat = hashed。只有大约100个用户帐户将被移动到包含大约20,000个帐户的另一个数据库中。用户名是唯一的。如果100个用户需要重置他们的密码,那就没问题。

如果可能的话,我的计划是在aspnet_Membership和aspnet_Users表中创建插入语句,可能在插入之前将ApplicationID更改为目标值。

2 个答案:

答案 0 :(得分:0)

只需使用新的applicationId复制详细信息。

答案 1 :(得分:0)

我有一个类似的问题,

我制作了一个asp.net页面,并在点击按钮上输入类似的代码:

protected void Button_addMedicacao0_Click(object sender, EventArgs e){
String strConnection1 = "conectionstring1";
String strConnection2 = "conectionstring2";
try
{
    OleDbConnection dbConn = null;
    OleDbCommand dbCmd = null;
    OleDbDataReader dr = null;
    String strSQL = null;
    dbConn = new OleDbConnection(strConnection1);
    dbConn.Open();
    strSQL = "select * from TABLE1";
    dbCmd = new OleDbCommand(strSQL, dbConn);
    dr = dbCmd.ExecuteReader();

    if (dr.HasRows)
    {
        while (dr.Read())
        {
            try
            {
                OleDbConnection dbConn2 = null;
                OleDbCommand dbCmd2 = null;
                String strSQL2 = null;
                dbConn2 = new OleDbConnection(strConnection2);
                dbConn2.Open();
                strSQL = "INSERT INTO TABLE2 (Field1, Field2) VALUES (?, ?)";
                dbCmd2 = new OleDbCommand(strSQL2, dbConn2);
                // dr[0] = id_table1
                dbCmd2.Parameters.Add(new OleDbParameter("Field1", dr[1].ToString()));
                dbCmd2.Parameters.Add(new OleDbParameter("Field2", dr[2].ToString()));                       
                dbCmd2.ExecuteNonQuery();
                dbConn2.Close();
            }
            catch (Exception err)
            { 
            }
        }
    }
    dbConn.Close();
}
catch (Exception err)
{  
}
}