是否可以将用户从一个 ASP .Net 成员数据库移动到另一个具有不同应用程序 ID 的数据库?两个系统都使用 passwordformat = hashed。只有大约 100 个用户帐户将被移动到包含大约 20,000 个帐户的另一个数据库中。用户名是唯一的。如果这 100 个用户需要重置他们的密码,那很好。
如果可能的话,我的计划是为 aspnet_Membership 和 aspnet_Users 表创建插入语句,可能在插入之前将 ApplicationID 更改为目标值。
是否可以将用户从一个 ASP .Net 成员数据库移动到另一个具有不同应用程序 ID 的数据库?两个系统都使用 passwordformat = hashed。只有大约 100 个用户帐户将被移动到包含大约 20,000 个帐户的另一个数据库中。用户名是唯一的。如果这 100 个用户需要重置他们的密码,那很好。
如果可能的话,我的计划是为 aspnet_Membership 和 aspnet_Users 表创建插入语句,可能在插入之前将 ApplicationID 更改为目标值。
我曾经遇到过类似的问题,
我创建了一个 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)
{
}
}
只需使用新的 applicationId 复制详细信息即可。