现在的位置: 首页 > 综合 > 正文

老系统数据库移植到DNN系统(总结篇)

2013年04月22日 ⁄ 综合 ⁄ 共 1667字 ⁄ 字号 评论关闭

      经过3天努力,数据库移植工作基本完成,现在对数据库移植的方法进行汇总。

步骤一

      首先我的老系统用的是ACCESS数据库,这样对数据库的查询操作不方便,我首先将ACCESS数据库中的内容移植到SQL SERVER2005中去,这里可以通过access自带的“升迁向导”来完成,具体见:

如何将 Access 数据库转换到 SQL Server

步骤二

       将数据库移植到SQL SERVER 2005以后就要对数据库的数据进行操作了,我们这里要求将查询结果以xml的格式存放。不知道什么原因数据库中存在的一些记录没有密码和邮箱,还有一些用户名含有非法字符如“&”,因此我们要查询出符合条件的记录。下面为查询语句

 

从这里我们可以看到有11828条件记录符合要求。

步骤三

下面我们就要将查询结果以xml的格式输出并且保存到指定的文件中去。查询代码为

我们将结果保存到指定的user.txt文件中去。然后将xml格式的数据粘贴到"ImportUser.aspx"页面中去,导入数据。

注意

在导入数据以前,我们先去web.config中看看 "membership defaultProvider”的passwordFormat="[Clear|Hashed|Encrypted]" 。

我们在插入数据以前要设置passwordFormat为Clear类型。

步骤四

      因为我们导入数据库的password是16位的md5,因此我们通过passwordFormat为Clear类型导入密码以后,我们要将passwordFormat改回来,根据我前进说过的我自己设定了一个SqlMembershipProvider为MySqlMembershipProvider,并且将passwordFormat="Hashed"
设置为16位的md5的解密方式,现在我们就要改成"Hashed”的密码格式。

      打开DNN数据库中的表aspnet_Membership,我看可以看到我们后面插入的用户的passwordFormat都为0,这里我们要将这些0改成1,表示passwordFormat“Hashed”。我们可以通过如下sql代码来改变数据库表的列值。

总结

数据库移植操作应该在自定义SqlMembershipProvider方法以后进行。

 

 

抱歉!评论已关闭.