浪子追风 发表于 2013-1-21 15:13:31

动网DVBBS7.0(SP2)ACCESS版转Discuz!2.2F(MYSQL版本)

说明:
1.本程序将把您的动网DVBBS7.0(SP2)ACCESS论坛的大部分数据转换为Discuz!2.2F(MYSQL版本)论坛的数据.
2,本程序只对数据作转移,不会对原来的mdb数据造成破坏,如果担心发生mdb数据丢失,请先作备份,我不会对任何此类型的数据丢失负责。
3,在使用本程序作转移前,必须先安装Discuz论坛(本程序只是对已经安装的Discuz论坛的数据库做替换操作),如果你已经有Discuz论坛,且有数据,请作备份,转换程序会清空原来的数据。
4,本程序只转换了用户,板块,主题和帖子(投票没有转换,因为我实在没时间去琢磨discuz的投票格式,板块需要重新设置具体属性,默认为所有的表情标签代码全部无效),短信(仅仅转换收件箱的短信,如有重要的发件箱邮件续预先保存),联盟论坛(discuz的排版格式可能有些令类,一_一#).解决了DVBBS中帖子标题的html造成版面错误(和标题过长问题),帖子中遗留乱码(html标签)问题.
5,转换过后,请用当前目录下的logging.php文件覆盖原Discuz的相同文件(根目录).(因为MD5的差异,DISCUZ不支持16位的MD5值,所以我修改了这个文件),覆盖此文件后,用户即可正常登陆,不需要重新注册或者重新设定密码.
6,确认成功转换后,请到论坛后台执行缓存更新,和下一个的数据更新(里面的3个都要更新一次).
7,成功测试环境:WINXP(PRO)+IIS5.1+PHP4.3.7+MYSQL4.0.20d+DVBBS7.0(SP2)ACCESS版+Discuz2.2f(GB2312)+DVBBS100MB的MDB数据库.

特别注意:
a.转换程序用到了ADODB类,需要ODBC(系统源)支持,linux和unix系统无法运行!当然,你也可以把mdb搬到自己的机子上转换,然后把MySQL数据库的内容再搬回你的网站.
b.用Access修改MDB数据库中的几个表:

dv_user
dv_board
dv_topic
dv_bbs1(这个字段根据你帖子数据而定,一般是这个)
Dv_Message

把上述几个表中类型为"时间/日期"的字段改为"文本"类型!
修改方法:右键点击表名,点击设计视图,找到后下拉更改.
如果MDB数据库太多无法实现更改类型的话也没关系,就是帖子的时间都成了12点,不影响其他.

程序使用

用记事本或者其他编辑器打开程序,根据实际,修改脚本开头提示的这些地方:

$access=D:/wwwroot/bbs/dvbbs7.mdb';                        //dvBBS7论坛数据库文件,绝对路径,注意用"/"
$bbstable='dv_bbs1';                                                //dvBBS的帖子数据表,默认为这个,不确定请用access查看
$atturl='http://yourhost/UploadFile/';                        //附件URL,注意后面要加上"/",指向附件目录(原来一般是UploadFile),以后的附件即像这样:http://yourhost/UploadFile/200353225929.jpg
$limit=3000;                                                       //每次处理的记录个数,3000左右比较好,由于php有运行时间限制,所以这个不能太大。
$mysql_host='localhost';                                           //MySQL主机
$mysql_user='root';                                                //MySQL用户名
$mysql_psword='';                                                //MySQL密码
$discuz2db='discuz2';                                              //discuz数据库
$tablepre='cdb_';                                                   //discuz表名前缀(Discuz2.2f默认的就是这个,如果不清楚,请查看数据库)
$phpselfname='dvbbs7.0_to_discuz2.2f.php';                        //本文件的名字,运行前请仔细确认一遍.


然后运行程序http://yourhost/dvbbs7.0_to_discuz2.2f.php(浏览器中),按照提示进行,我是在本机测试,过程中没有出现错误.
注意:如果数据库比较大,过程可能比较久,请等待.

特别提示,如果需要更详细的设置,请阅读源代码,我加了很详细的注释,很多地方可以手动设置

使用前注意

1,转换成功后要到后台 "系统管理"->"更新缓存","系统管理"->"重建统计数据"(这其中包含的三个都要更新一次).
2,论坛附件需要按以上自己定义的路径保存.
3,头像的目录请根据相对路径保存原来dvbbs的头像文件(你可以点击一个不显示的人的头像看看地址).





页: [1]
查看完整版本: 动网DVBBS7.0(SP2)ACCESS版转Discuz!2.2F(MYSQL版本)