Leo2DNT(雷傲论坛转DiscuzNT)1.0转换程序发布

数据转换程序 雷傲论坛(Leobbs4.x) -> Discuz!NT V1.0
 
本转换程序基于Leobbs4.x设计  

 
声明:
 1.本程序只对数据作转换,不会对原来的雷傲论坛(数据造成破坏,如果担心数据丢失,请先作备份,我们不会对任何此类型的数据丢失负责;
 2.在使用本程序作转换前,如果 Discuz!NT 论坛有数据,请先做好备份,转换程序会自动清空要转换的数据表.
  3.请在转换开始前断开到源数据库的其它链接,保持源数据库只有转换程序在使用.
 3.请勿将本程序用于商业用途,您可以自由传播它,但务必保留我们的版权信息.
 4.如果您使用本程序则表明您已接受以上声明!

本程序适用版本:
 Leobbs4.x

本程序所需环境:
 1. Net Framework 2.0+MS Sql2000;

本程序可以转换的数据:
 会员数据、版块数据、主题数据、帖子数据、附件数据、投票数据、联盟论坛数据
  投票有效期为转换当日的60日

本程序保存原始帖子和生成新ID的对应(可自行设置404保持原帖子的指向)

本程序不能或无法完整转换的数据:
 1.帖子标题长度超出 60 字节的部分将被截掉,帖子作者用户名长度超出 20 字节的部分将被截掉;
  2.一些不符合DNT数据标准的垃圾数据;
  3.不完整(如文件为空,缺少属性等)的各类雷傲数据;
  4.对于不能转换的数据一律当做不存在处理。

可能存在的问题:
  1.部分附件不能转换成功。
  2.个别投票转换失败


转换前:
  1.请确认您已经成功安装了 .Net Framework 2.0
 2.请确认您已经成功安装了 Discuz!NT V1.0 ;
 3.由于转换过程非常消耗资源,所以建议您尽量在服务器空闲期间进行。
  4.为确保转换正常,请在转换时关闭Leo论坛
  5.正确填写转换程序的参数配置
  6.确保转换程序leo2DNT目录可写(自动生成日志文件log.txt)
  7.确保LeoBBS下数据的完整性,必须包含以下数据:
 cgi-bin/member***/allmember.pl
 cgi-bin/member***/old
 cgi-bin/data/allforums.cgi
 cgi-bin/forum*/
 cgi-bin/boarddata/jinghua*.cgi
 cgi-bin/boarddata/ontop*.cgi
 cgi-bin/boarddata/boardstats.cgi 读取topics和posts的数量
 cgi-bin/data/shareforums.cgi 联盟论坛
 cgi-bin/FileCount
  8.数据库更改操作
 1)在topic表末尾增加字段 oldId(int)
 2)在users表末尾增加字段OldLastpostid(char(50))
 3)把forums表的主健标识选项取消,记得转换完毕再改回

  9.按照leo2DNT操作界面进行配置,仔细填写。
  10.注意:测试好sql的数据库连接后转换按钮才能使用!

转换中:
 1.转换是依次顺序进行的,可以依次单独转换也可以批量转换;
 2.如果转换过程中程序终止运行,请根据生成日志文件log.txt中出错提示信息进行检查.
 3.转换所需时间取决于您的数据量大小、数据结构的标准与否、转换程序所在平台的性能、网络状况等因素。

转换后:
 1.如发现转化数据不完整可以查询转换日志进行排查,转换过程不可逆!
 2.请将 Dvbbs 的附件目录 uploadfile 及其下所有子目录或文件移至 Discuz!NT 的附件目录 upload 下,不要给uploadfile目录改名;
  3.把leo头像文件夹non-cgi/avatars转移至images/avatars/leobbs/ 下
  4.在dnt根目录建立LeoUsr文件夹,把non-cgi/usr***下所有文件全部迁移过去
  5.把forums的主健设置为标识
  6.转换后请依次点击点击右侧的按钮,然后用超级管理员帐户登陆后台-论坛维护-论坛数据维护-系统调整论坛版块
 7.请用管理员帐号登录 Discuz!NT 论坛后台执行更新论坛统计、更新缓存操作
  8.转换完毕后如果发现用户数据不准确或个别用户数据有所遗漏,可以通过[手动修复用户]进行修复(修复前确保在memberso***\old下存在该用户的配置文件)
  9.(可选)topics表中oldId字段为url中topic的值,可以自己通过结合fid设置404保持原链接的有效(在根目录下建立cgi-bin的空目录)
  10.其它图片自行手动迁移
 
注意:转换的错误日志都在log.txt中进行记录,部分错误不影响转换结果,一切请以转换结果为准

技术支持:
 1.如果任何问题 请到http://bbs.51aspx.com 发帖求助. 发帖时请注明LeoBBS: 数据库大小、主题数、贴子数、用户数、分表个数和日志错误编号。
    并详细描述您所遇到的问题。
  2.作者:liudao,51aspx(http://www.51aspx.com),这里对[戏水]的大力相助表示感谢!

常见问题及解决方法:
  1、提示“帖子保存失败”?
   解决方法:
   1)可以用下面的语句得到某个分表中最大pid值 select max(pid) from dnt_posts1
   2)Sql版本中运行DBCC CHECKIDENT ('dnt_postid', RESEED, 1000) ,其中1000是dnt_post1的最大ID
   3)删除 dnt_postid中的那条记录 再新增一条, 这时候你会发现pid字段 的值为1000
 2、主题显示错乱(默认是按照lastpostid显示的)
    修改dnt_gettopiclist存储过程 把order by lastpostid 改为 lastpost,运行一段时间再改过来
 3、修改帖子时总是提示“未将对象引用设置为实例”之类的错误
    请检查对应帖子中posterid是否存在该用户

 

[复制到剪贴板]CODE:
select max(pid) from dnt_posts1 

转换速度参照
 users 71201条
 forum 107个
 topics 57587条
 posts 282691条
 poll  865个

转换时间:1小时15分
环境配置:CY2.66 1G Win2003Server

posted @ 2007-08-24 16:41  liudao  阅读(862)  评论(1编辑  收藏  举报
51Aspx.com 版权所有