注:本教程以本地数据转换为演示,服务器上的转换方法类似。
一、 转换前的准备
1、请下载对应版本的最新转换程序到本地或服务器
oBlog 3.x Sql 转换 X-space 2.x 程序 oblog3xsql-xspace2x.php
(本教程演示转换的oblog版本不是最新的,但是不管是哪个版本的,其转换方法是一样的)
下载地址:http://www.discuz.net/thread-469565-1-1.html
下载转换程序到本地并解压缩后打开可以看到有六个文件,如图1所示:
其中:oblog3xsql-xspace2x -文件夹里面是用于转换的转换程序;
batch.login.php -文件是为保证X-Space老用户正常登录的文件;
logging.php -文件是为了保证动网论坛老用户可以正常登录的文件;
repair.php -文件给每个用户一个默认的风格,保证个人空间的正常显示;
更新历史.txt -文件是对以前转换程序的修正说明;
说明.txt -文件是转换说明及方法。
2、请确认您已经成功安装了 Discuz! 5.0.0 + X-Space 2.x
我们已经在本地安装好Discuz! 5.0.0 + X-Space 2.x,如图2和3所示:
本机转换推荐使用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
X-Space 2.0/SupeSite 5.0 Final版安装教程:http://www.discuz.net/viewthread.php?tid=452728
3、如果您是其他论坛和oblog整合的数据,请先使用相应的论坛转换程序转换好论坛后再进行此转换。
DvBBS 7.x Sql到Discuz!5.0转换教程:http://www.discuz.net/viewthread.php?tid=506233
3、将 .sql 后缀的oblog备份数据导入SQL Server EnterPRise Manager(SQL Server企业管理器)
1) 打开企业管理器,新建个数据库;
2) 将sql备份数据还原到新建的数据库里;
3) 修改MSSQL 数据库的字段类型。
具体方法见:http://www.discuz.net/viewthread.php?tid=506233 第一步 第3条
其中oblog需要修改的字段属性如下:用户表(user)、系统分类表(logclass和userclass)、个人分类表(subject)、日志表(log)、评论表(comment)、留言表(message)、短信表(pm)、附件表(upfile),将上面的数据表的字段类型为 nText 的改为 Text 类型。
还需注意:oblog 用户表名默认为 user ,请将其改为其他名字,并在转换程序中进行正确配置;建议更改为 bloguser 。
注:如果您是在运行动网论坛的服务器上直接转换,不需要进行上面的还原数据库这一项,但是修改字段属性和用户表名这两步必须操作。
4、转换前请确认php能够支持mssql数据库连接。请打开php.ini,找到";extension=php_mssql.dll",去掉前面的分号,找到";mssql.textlimit = 4096"和";mssql.textsize = 4096",去掉两句前的分号,并将4096改为2147483647。如果不改,可能会出现日志被截断的现象。
二、转换详细步骤
1、修改 oblog3xac-xspace2x.php 文件,仔细配置转换程序需要的参数
其中需要注意以下几点:
$ms_dbhost = 'localhost';
mssql 主机地址,如:127.0.0.1,一般为 localhost
$ms_dbuser = 'sa';
mssql 用户名,这个是安装SQL Server的时候设置的。
$ms_dbpw = '123456';
mssql 密码,这个也是安装SQL Server的时候设置的。
$ms_dbname = 'oblog';
Oblog的mssql 数据库名,也就是前面在SQL Server中新建的数据库名。
$oblogpre = 'oblog_';
oBlog 的表前缀,如果您没有做过修改,默认为“oblog_”,做过修改请填写您修改过的。
$dbhost = 'localhost';
MySQL 数据库服务器,如:127.0.0.1,一般为 localhost
$dbport = '3306';
MySQL 数据库服务器端口号,一般为 3306,Discuz!EXP默认为6033
$dbuser = 'root';
MySQL 数据库用户名
$dbpw = '';
MySQL 数据库密码
$dbname = 'discuz';
Discuz!5.0 数据库名
$discuz_tablepre = 'cdb_';
Discuz! 数据表前缀,默认为:cdb,如果您安装Discuz!的时候做过修改请填写您修改过的。
$xspace_tablepre = 'supe_';
X-space 表名前缀,默认为:supe_,如果您安装X-space的时候做过修改请填写您修改过的。
$discuz_charset = 'gbk';
数据库字符集,如果您的 MySQL 为 4.1 以上版本 请根据您的 Discuz! 数据库字符集进行设置,可以根据您Discuz!论坛的config.inc.php文件中的dbcharset进行填写。
$rpp = '5000';
每次需要转换的数据量,如果您的服务器比较慢,请将这个值调小,如果转换过程中出现超时,请把 $rpp 变量设置小一点,重新再来。
其他参数默认即可!
2、将转换程序包中oblog3xsql-xspace2x / oblog3xsql-xspace2x.php文件置于通过 web 可以访问的目录下(本教程制作演示将转换程序置于论坛根目录下),在浏览器中运行oblog3xsql-xspace2x.php 准备开始转换,具体看图4所示:
点击“点击开始转换”,进入如图5所示的转换页面:
(1)正常情况下,转换过程是全自动的,您无需干预,请坐下来喝杯茶,静静等待出现转换完成的提示;
(2)如果转换过程中程序终止运行,请根据出错提示信息进行调整,然后刷新页面继续进行转换;
(3)转换所需时间取决于您的数据量大小、数据结构的标准与否、转换程序所在平台的性能、网络状况等因素。
转换完毕后进入如图6所示页面:
点击“查看转换结果分析报告report.htm”,可以查看本次转换的成功率,如图7所示:
回到博客首页看转换后的效果吧!如图8所示:
三、转换后的一些善后操作
1. 查看转换结果分析报告:report.htm ;(图7所示)
自此,基本数据的转换完毕!下面简单介绍一下数据备份及导入服务器的步骤!
2. 进入论坛后台,备份数据,用于导入服务器;
数据的备份和导入方法见下面的教程:
http://www.discuz.net/thread-484051-1-1.html
http://www.discuz.net/thread-505428-1-1.html
3. 转换完成以后请将 oblog 的附件目录 uploadfile 改名为 oblog 并将该目录及其下所有文件移动至 xspace 的附件目录 attachments 下。
4. 请用转换程序包中的 logging.php 覆盖 Discuz! 论坛程序中的 logging.php,用batch.login.php 覆盖 X-Space 程序中的 batch.login.php, 这样老用户才可以正常登录。
5. 请将转换程序包中的repair.php上传到 SupeSite 的根目录,并在浏览器中运行这个程序来给每个用户一个默认的风格,不然个人空间显示不能正常。
6. 请用您的管理员帐号登录 Discuz! 论坛后台执行更新论坛统计、更新缓存操作;
(如果您不是为自己转换论坛,不清除原论坛管理员的帐号密码,您可以进入 phpmyadmin 修改管理员密码,打开论坛数据库,打开 cdb_members 表,浏览,找到 adminid 和 groupid 都等于 1 的用户即管理员,修改密码,函数 md5 加密,执行,此时管理员 admin 的密码被修改成你输入的密码。)
添加和修改管理员帐号密码的方法:http://www.discuz.net/thread-378404-1-1.html
7. 登录X-Space后台-“综合设置”-“缓存更新”:更新缓存。
8. 确认成功转换后请删除转换程序 oblog3xsql-xspace2x.php
技术支持:
Discuz! 手握手互助转换升级活动火热进行中,即刻加入,Discuz! 志愿者将提供给您免费的数据转换服务:http://www.discuz.net/sowoso