注:本教程以本地数据转换为演示,服务器上的转换方法类似。
一、 转换前的准备
1、 请下载对应版本的最新转换程序到本地或服务器
最新的DvBBS sql版到Discuz!的转换程序为:动网DvBBS 7.1.0 SQL => Discuz!5.0.0 转换程序
下载地址为:http://www.discuz.net/thread-477133-1-1.html
下载转换程序到本地并解压缩后打开可以看到有五个文件,如图1所示:
其中:convertinc -文件夹里面是转换所包含的库文件;
dv710sql-dz500.php -文件是用于转换的转换程序;
logging.php -文件是为了保证动网论坛老用户可以正常登录的文件;
转换说明.txt -文件是转换说明及方法;
更新记录.txt -文件是对以前转换程序的修正说明。
2、请确认您已经成功安装了 Discuz!5.0.0
我们已经在本地安装好Discuz!5.0.0,如图2所示:
本机转换推荐使用Discuz!EXP(Discuz!论坛环境和Discuz!论坛一键安装)
下载地址:http://www.discuz.net/thread-223885-1-1.html
手动Discuz!环境搭建教程:http://www.discuz.net/viewthread.php?tid=378804
Discuz!5.0安装教程:http://www.discuz.net/thread-428312-1-1.html
3、将 .sql 后缀的动网sql备份数据导入SQL Server EnterPRise Manager(SQL Server企业管理器)
1)打开企业管理器,如图3所示:
2)新建个数据库,本演示新建数据库dvbbs7,如图4,5所示:
在“名称”处填入新建数据库的名称dvbbs7,点“确定”。
3)开始还原数据库
右键新建的数据库dvbbs7“所有任务-还原数据库”,如图6所示:
由上面的操作进入下面的界面,如图7所示:选择“从设备(M)”进入如图8所示的界面:
点击“选择设备(E)” 进入如图9所示的界面:
点击“添加(A)”进入如图10所示的界面:
在上图中填写或浏览您的备份数据,即浏览其存放路径,然后连续点“确定”,则数据开始还原,如图11所示:
还原完毕,点击“确定”即可,如图12所示:
4)修改MSSQL 数据库的字段类型
如图13所示打开数据库,点击其“表”:
将其用户表(Dv_User)、板块表(Dv_Board)、主题表(Dv_Topic)、帖子表(Dv_bbs1,bbs2,bbs3)、附件表(Dv_Upfile)、短消息表(Dv_Message)、好友表(Dv_Friend)、管理员表(Dv_Admin)字段类型为 nText 的改为 Text 类型。
下面以修改 Dv_User 表的字段类型为例做演示。
右键 Dv_User 表,点“设计表”,如图14所示:
由上面的操作进入下面的界面,如图15所示:
将上图中红框里的“数据类型”这一项的所有字段类型为 nText 的改为 Text 类型,然后关闭上面的界面,弹出一个如图16所示的提示框,选择“是”即可,后面如果还有警告,确定即可。如果您的数据量很大,这里进行这样的修改操作后保存时间会比较长,请耐心等待!
按照同样的方法将板块表(Dv_Board)、主题表(Dv_Topic)、帖子表(Dv_bbs1,bbs2,bbs3)、附件表(Dv_Upfile)、短消息表(Dv_Message)、好友表(Dv_Friend)、管理员表(Dv_Admin)字段类型为 nText 的都改为 Text 类型。
注:如果您是在运行动网论坛的服务器上直接转换,不需要进行上面的还原数据库这一项,但是修改字段属性这一步必须操作。
二、转换详细步骤
1、修改 convertinc/config.php 文件,仔细配置转换程序需要的参数
其中需要注意以下几点:
$ms_dbhost = 'localhost';
mssql 主机地址,如:127.0.0.1,一般为 localhost
$ms_dbuser = 'sa';
mssql 用户名,这个是安装SQL Server的时候设置的。
$ms_dbpw = '123456';
mssql 密码,这个也是安装SQL Server的时候设置的。
$source_dbname = 'dvbbs7';
mssql 数据库名,也就是前面在SQL Server中新建的数据库名,本演示为dvbbs7
$source_tablepre = 'dv_';
dvbbs 数据表前缀,如果您没有做过修改,默认为“dv_”,做过修改请填写您修改过的。
$dv_posttbl = 'Dv_bbs1';
dvbbs 帖子表,多个表之间用半角逗号,隔开,如:Dv_bbs1,Dv_bbs2,Dv_bbs3,不知道这个值可以在SQL Server的企业管理器中打开表确认一下。
$dbhost = 'localhost';
MySQL 数据库服务器,如:127.0.0.1,一般为 localhost
$dbport = '3306';
MySQL 数据库服务器端口号,一般为 3306,Discuz!EXP默认为6033
$dbuser = 'root';
MySQL 数据库用户名
$dbpw = '';
MySQL 数据库密码
$discuz_dbname = 'discuz';
Discuz!5.0 数据库名,也就是您安装好用于转换的Discuz!5.0论坛的数据库名称。
$discuz_tablepre = 'cdb_';
Discuz! 数据表前缀 默认为:cdb,如果您安装Discuz!的时候做过修改请填写您修改过的。
$discuz_charset = 'gbk';
数据库字符集,如果您的 MySQL 为 4.1 以上版本 请根据您的 Discuz! 数据库字符集进行设置,可以根据您Discuz!论坛的config.inc.php文件中的dbcharset进行填写。
$rpp = '3000';
每次需要转换的数据量,如果您的服务器比较慢,请将这个值调小,当然如果您的服务器性能很好,您可以将这个值调大到6000,甚至10000
其他参数默认即可!
2、将转换程序 dv710sql-dz500.php 和 convertinc 目录及其下所有文件置于通过 web 可以访问的目录下(本教程制作演示将转换程序置于论坛根目录下),并保持dv7xacc-dz500.php和convertinc目录结构不变,在浏览器中运行 dv7xacc-dz500.php 准备开始转换,具体看图17所示:
点击“开始完全转换”,进入如图18所示的转换页面:
(1)正常情况下,转换过程是全自动的,您无需干预,请坐下来喝杯茶,静静等待出现转换完成的提示;
(2)如果转换过程中程序终止运行,请根据出错提示信息进行调整,然后刷新页面继续进行转换;
(3)转换所需时间取决于您的数据量大小、数据结构的标准与否、转换程序所在平台的性能、网络状况等因素。
转换完毕后进入如图19所示页面:
点击“查看转换结果分析报告report.htm”,可以查看本次转换的成功率,如图20所示:
回到论坛首页看转换后的效果吧!如图21所示:
三、转换后的一些善后操作
1. 查看转换结果分析报告:report.htm ;(图20所示)
2. 请用您的管理员帐号登录 Discuz! 论坛后台执行更新论坛统计、更新缓存操作;
(如果您不是为自己转换论坛,不清除原论坛管理员的帐号密码,您可以进入 phpmyadmin 修改管理员密码,打开论坛数据库,打开 cdb_members 表,浏览,找到 adminid 和 groupid 都等于 1 的用户即管理员,修改密码,函数 md5 加密,执行,此时管理员 admin 的密码被修改成你输入的密码。)
添加和修改管理员帐号密码的方法:http://www.discuz.net/thread-378404-1-1.html
自此,基本数据的转换完毕!下面简单介绍一下数据备份及导入服务器的步骤!
3. 进入论坛后台,备份数据,用于导入服务器;
注:数据的备份和导入方法参考下面的教程:
论坛搬家视频教程:http://www.discuz.net/viewthread.php?tid=384782
论坛后台备份完全规范:http://www.discuz.net/thread-505428-1-1.html
4. 在服务器端全新安装 Discuz!5.0.0 论坛,并保证所使用的字符集与转换中设置的 $discuz_charset 一致,登录 Discuz! 后台,将备份好的数据导入;
5.请将 dvbbs 的头像目录 images/userface 更名为 dvbbs ,并将该目录及其下所有文件移至 Discuz! 的头像目录 images/avatars 下;
6.请将 dvbbs 的用户自定义头像目录 UploadFace 更名为 dvbbs ,并将该目录及其下所有文件移至 Discuz! 的自定义头像目录 customavatars 下;
7.请将 dvbbs 的附件目录 UploadFile 更名为 dvbbs ,并将该目录及其下所有文件移至 Discuz! 的附件目录 attachments 下;
8.请用我们给您的 logging.php 覆盖 Discuz! 论坛程序中的 logging.php,这样老用户才可以正常登录;
9.请用您的管理员帐号登录 Discuz! 论坛后台执行更新论坛统计、更新缓存操作;
10.确认成功转换后请删除转换程序 dv710sql-dz500.php ,删除 convertinc 目录及其下所有文件。
技术支持:
Discuz! 手握手互助转换升级活动火热进行中,即刻加入,Discuz! 志愿者将提供给您免费的数据转换服务:http://www.discuz.net/sowoso