Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[原创]动网7.x access2d4.1.0php转换竟这么简单!一步一步教你转换。

[复制链接]
dfdd 发表于 2006-5-13 12:20:50 | 显示全部楼层 |阅读模式
做论坛几年了,刚开始用的是雷傲论坛程序,虽然我很喜欢她的界面,但是她太浪费资源了。空间商们不喜欢他,我只好将它转换为动网论坛程序。动网论坛程序用了几年,发现问题不少!经常掉线,辛辛苦苦打了一篇文章一发表,竟没有用户名了。经常被人挂上木马病毒也是令人讨厌的事。最大的问题还是论坛规模到一定程度后,时常出问题打不开,搞得我天天求空间商。无奈只好考察其他的论坛程序。对比来对比去觉得DISCUZ的程序很好!但是问题也来了,不会转换!在DISCUZ论坛上看了上百篇文章后,才摸着头脑。
在这里首先的给DISCUZ的团队提点小意见!虽然同行是冤家,但是动网还是有不少借鉴之处。取人之长才能更好的发展给自己!DISCUZ的程序应该做到:麻烦留给自己,方便留给用户。程序要尽量“傻瓜”。使爱好这个程序的人不用怎么设置就能使用,使希望转换的人--即使他刚开始作论坛,也能轻而易举地转换成功。
好了说了这么多,大家也都不耐烦了,还是言归正转吧!
我这里只介绍在本机转换

第一步:
下载在本机建PHP论坛需要的程序------>Discuz!EXP 2.0.1 简体中文GBK版:http://download.discuz.net/exp/discuzexp2_0_1_sc_gbk.zip
然后解压安装在你的电脑D盘(以D盘为例、E、F也行)根目录后。在浏览器的地址栏输入的网站地址(该程序自带DZ4.1.0论坛程序,其实你装完后它会自动在浏览器中打开DZ4.1.0论坛程序的)。
第二步:
下载dv7xaccess2d4.php程序---->https://discuz.dismall.com/viewthread.php?tid=222482&extra=page%3D1
就是这个文件:附件: dv7.xAccess2d4.zip (2006-1-18 10:39, 12.81 K),然后解压在Discuz!EXP 2.0.1 简体中文GBK版的wwwroot文件夹里。

第三步:
修改dv7.xaccess2d4.php中的dvaccess2d4.php文件:

<?php
error_reporting(7);
##############################################################################
#
#DvBBS 7.x Access 转换到 Discuz!4.0.0(这里改为4.1.0)
#
###############################################################################
#
#   使用完本程序请务必删除, 否则可能被别人再次转换,覆盖掉 Discuz! 论坛新贴.
################################################################################


//请仔细设置下面的参数===========================================================
$access='d:/code/Dvbbs7.mdb';                        //dvBBS7论坛数据库文件,绝对路径,注意用"/"
$bbstable='Dv_bbs1';                                  //dvBBS的帖子数据表,默认为这个,不确定请用access查看
$dvbbspre = 'Dv_';                                //dvBBs的表明前缀
$atturl='http://127.0.0.1/UploadFile/';                //附件URL,注意后面要加上"/",指向附件目录(原来一般是UploadFile),以后的附件即像这样:http://127.0.0.1/UploadFile/200353225929.jpg
$dvbbsmaster = '换成动网论坛的管理员户名;        //管理员帐号,用来升级你的管理员身份,请如实填写,否则转换完以后无法进入后台进行管理
$dvbbsUserTable        = 'user';                // dvbbs的用户表表名,一般情况下用户表的表名为user;
$discuz_ver = "discuz4.1.0";
//==============================================================================
$dbhost = "localhost:6033"; //MYSQL 数据库服务器
$dbuser = "root";     // 连接MYSQL数据库服务器的用户名
$dbpw = xxxx;          //  连接MYSQL数据库服务器的密码
$dbname = "discuz"; //   数据库名字
$tablepre = "cdb_";//    表名前缀
$scriptname = "dvaccess2d4.php";
$many = 1000;   //每次需要转换的数量,如果您的服务器比较慢,请将这个值调小
$maxretry = 10;        //最大尝试次数,用于解决id突增的现象,建议设置为10;
$mysqlcharset = 'gbk'; //如果你的mysql是4.1的请根据你要使用的discuz语言包做相应的设置可以为('gbk','utf-8','big5');
//下面部分非必要不需改动=================================================================================

@set_time_limit(1000);
register_shutdown_function('adodbClose');
$dbc=new com("adodb.connection");
//$dbc->open("driver=microsoft access driver (*.mdb);dbq=".$access);
$dbc->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$access");
注意对照红色部分,密码和动网论坛的用户名修改为自己的。$bbstable='Dv_bbs1'--->如果你有几个的话按要求添上(多个表之间用,隔开)。

第四步:
修改D盘中Discuz!EXP 2.0.1文件夹中的PHP文件夹中的php.ini文件,并重启服务器后才能正常转换
  <1> ;extension=php_mssql.dll 去掉前面分号(这个没找到,也就没修改成,但是不影响转换。下面的两项按要求修改。
  <2> ;mssql.textlimit = 4096 去掉前面分号,将4096改为2147483647
  <3> ;mssql.textsize = 4096 去掉前面分号,将4096改为2147483647
  

第五步:
在浏览器里运行,例如:http://localhost/dv7.xaccess2d4.php/dvaccess2d4.php开始转换(红色部分一定要和你wwwroot中加压的转换程序文件夹一样)就会出现如下提示,这时间你可以抽烟喝茶等待转换结束:
  1. 转换前的一些说明:

  2.  1.本程序可以转换的数据包括:用户的基本信息(dvbbs存在的且discuz4.1.0需要的数据)、板块数据、主题数据、帖子数据、附件数据、管理团队数据。
  3.  2.转换前请详细配置本程序需要的参数。
  4. 3.转换前请核查一下所使用的dvbbs数据字段是否同转换程序中使用的相符(dvbbs每个版本(或者用户)的字段结构和名称都有可能不同),本程序针对标准的未做过修改的DvBBS 7.x SQL而设计。
  5.  4.如果转换过程中出现超时,请把 \$many 变量设置小一点.如果中间出现转换超时,可以修改本程序设置,重新再来.
  6.  5.转换过程是自动的(如果不出现错误)!您不需干预,请静静等待出现转换全部成功的提示
  7.  6.由于转换过程非常消耗资源所以请尽量在您的服务器空闲期间进行。

  8. 7. 数据转换说明:
  9.  1.转换完毕后的数据并不一定同原论坛数据完全相同(非法长度的用户名(超过15字节)、非法长度的标题(超过80字节)、附件未写入到SQL数据库中的等等都不可转换或只部分转换)。
  10.  2.转换过程需要的时间根据您的数据量大小、数据结构的标准与否、执行转换程序的平台性能等等都有一定关系。
  11.  3.转换完成以后请用我们给你的logging.php覆盖论坛程序中的logging.php,这样老用户才可以正常登陆。并请用你的管理员帐号登陆论坛后台执行更新论坛统计更新缓存操作

  12. 〖点击开始转换〗〖点击进入论坛维护〗〖结束本程序〗〖关闭窗口〗
  13. --------------------------------------------------------------------------------
  14. 单独转换:(请注意:单独转换某一步转换完毕时,程序会继续执行下一步转换操作。)
  15. 1.用户资料数据
  16. 2.论坛版区数据
  17. 3.主题索引数据
  18. 4.帖子数据
  19. 5.联盟论坛数据
  20. 6.短消息数据
  21. 7.好友数据
  22. 8.标记first
  23. 9.整理附件

复制代码
下面的窗口出现预示着你的转换完成了!
  1. XXXX被升级为管理员

  2. 操作:第 9 / 9 步.
  3. 转换完毕!


  4. 请用我们给你的logging.php覆盖论坛程序中的logging.php,这样老用户才可以正常登陆。
  5. 用你的管理员帐号登陆论坛后台执行:
  6. 更新论坛统计
  7. 更新缓存
  8. --------------------------------------------------------------------------------

  9. 动网的积分字段全部转换到了discuz相对应的积分字段,他们的对应关系如下:
  10. extcredits1=userpower//金钱
  11. extcredits2= userwealth //威望
  12. extcredits3= userep //经验
  13. extcredits4= usercp //魅力
  14. extcredits5= userticket//点券
  15. extcredits6= userticket//金币
  16. [如果要停止本操作请点击这里].
复制代码



第六步:将原动网论坛的Images中的userface 目录下的所有文件 和 UploadFace目录本身(不是目录下的文件!!) 移动到Discuz!论坛目录 images\avatars 中。


第七步:
将原论坛的附件UploadFile文件夹中的图片全部移动到attachments中新建的dvbbs文件夹里。


第八部:
上传附件dvaccess2d4.php文件夹中的logging.php文件,覆盖DZ4.1.0中原有的logging.php文件,否则老会员将无法登录。


第九步:
用上面修改dvaccess2d4.php时填写的管理员身份登录论坛,系统设置---->Discuz!工具----->更新论坛统计--->更新缓存


第十步:
找论坛中某一个存在附件的帖子,检查一下附件是否显示,若不显示右击这个图片,属性看一下图片的路经是否正确,另外就是看一下attachment/dvbbs中是否有这个附件,或者在浏览器中输入这个图片的地址,看是否显示


OK所有操作完成的话,转换即全部完成,您的论坛便可正常运行了

[ 本帖最后由 dfdd 于 2006-5-13 12:27 编辑 ]
回复

使用道具 举报

008at 发表于 2006-5-13 16:04:17 | 显示全部楼层
谢谢分享
回复

使用道具 举报

hui1986 发表于 2006-5-13 20:22:26 | 显示全部楼层
这只是在自己机子上测试把!

如果要搬移论坛怎么转?

MYSQL导入总是提示内存不够,什么的。

要么就出现乱码,登陆不进去!

怎么解决?

[ 本帖最后由 hui1986 于 2006-5-13 20:24 编辑 ]
回复

使用道具 举报

52pm 发表于 2006-5-13 20:33:05 | 显示全部楼层
转换很简单的·只要有点源码的基础知识就行~~
回复

使用道具 举报

anhu 发表于 2006-5-14 20:44:37 | 显示全部楼层
转换基本成功。。。就是头像和附件无法转换?
回复

使用道具 举报

 楼主| dfdd 发表于 2006-5-14 22:52:42 | 显示全部楼层
在本机上转换很成功。除了换行不好以外,其他的都可以了。但是上传以后怎样还不清楚。如何将转换好的程序上传,还要请高手们详细指导。
回复

使用道具 举报

ycqq 发表于 2006-5-15 10:42:33 | 显示全部楼层
今晚回去试一下。我把ACC转成SQL后还是转不了贴子数据。只能转用户和版面数据。
回复

使用道具 举报

我是def 发表于 2006-5-16 11:39:17 | 显示全部楼层
运行到第五步的时候出现了:Warning: mysql_connect(): Can't connect to MySQL server on 'localhost' (10061) in E:\DiscuzEXP\wwwroot\dv7.xaccess2d4.php\dvaccess2d4.php on line 40
Can't connect to MySQL server on 'localhost' (10061)
请问是什么原因呢!!??
回复

使用道具 举报

星夜心情520 发表于 2006-5-20 05:08:18 | 显示全部楼层
不错,试下,谢谢楼主!!
回复

使用道具 举报

星夜心情520 发表于 2006-5-20 06:01:03 | 显示全部楼层
原帖由 我是def 于 2006-5-16 11:39 发表
运行到第五步的时候出现了:Warning: mysql_connect(): Can't connect to MySQL server on 'localhost' (10061) in E:\DiscuzEXP\wwwroot\dv7.xaccess2d4.php\dvaccess2d4.php on line 40
Can't connect to MySQ ...

MySQ可能是用户名错了!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-9 23:26 , Processed in 0.125229 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表