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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[经验] 一次从dnt2.6转换到dz7.0的过程

[复制链接]
allways 发表于 2011-3-26 16:44:28 | 显示全部楼层 |阅读模式
使用php  XConvert 将dnt2.6数据转换到dz7.0注意事项

使用的xconvert版本     XConvert1.3.1 下载地址 https://discuz.dismall.com/thread-1010799-1-1.html

1、要开启服务器php环境中的mssql服务支持,将php.ini中 ;extension=php_mssql.dll 前面的;取消

如果不知道php.ini文件位置,可以建一个php文件,叫phpinfo.php,里面写上

<?php

phpinfo();

?>

浏览下该页面,既可以知道位置,以其其他的服务器信息



2、使用的时候需要修改mssql数据库里面的相关表字段,由于php读取ntext字段会返回空值,

所以需要将相关的ntext字段都改为text字段,一步一步进行转换,如果有提示错误,就是有需要修改的数据表结构


3、转换帖子的时候出现问题。

Fatal error: Allowed memory size of 20971520 bytes exhausted (tried to allocate 6227 bytes) in H:\APMServ-v5.2.6\APMServ-v5.2.6\APMServ5.2.6\www\htdocs\XConvert\include\db.class.php on line 175

好像是内存溢出或者内存不够,服务器不给力啊

可以将每次转换的数量调小,可以在配置文件里面直接修改,文件位置\xconvert\config.inc.php

$rpp = '3000';
默认为3000,改为1000之后,就可以正常运行了。

4、在转换帖子记录的时候,xconvert会生成表名是有重复的表前缀的,

比如前缀是xxx,那么他会生成xxx_xxx_post1这个表名,这时候就需要修改转换的程序了。

相关文件在/xconvert/data/dznt26sql-72uc/step_7.php

我们可以在它查询记录之前直接修改表名,

$posttable="posts1";//这句就是直接赋值表名为posts1

$query = $db['source']->query("SELECT * FROM {$source_tablepre}$posttable WHERE pid BETWEEN $start AND $end") or die("检索数据表 '$posttable' 错误!请将表 '$posttable' 字段类型为 nText 的改为 Text 类型。");


4、单独转换[投票]  也会提示错误,如果没有找到相关表,就不用转换了。




12153556 发表于 2011-3-26 20:30:24 | 显示全部楼层
顶一下

希望能帮到更多的人
回复

使用道具 举报

baxter 发表于 2011-3-26 20:39:37 | 显示全部楼层
支持一下楼主。。。
回复

使用道具 举报

 楼主| allways 发表于 2011-3-27 10:38:18 | 显示全部楼层
谢谢支持
回复

使用道具 举报

 楼主| allways 发表于 2011-4-12 14:02:18 | 显示全部楼层
5、转换过去,帖子的详细内容都不换行了,
                修改viewthread.php   514
                $postlist[$firstpid]['message']= str_replace("\r\n","<br/>",$postlist[$firstpid]['message']);
                将 \r\n 转换为 <br/>
        6、详细帖子都没有图片
                拷贝原目录upload下的所有目录到attachments下

         6、用户信息,可以通过后台设置是否显示
         7、用户头像,有加入uc,所以需要从uc那边动态获取(在dz的后台设置,设置为动态获取头像)
                获取的地址和原来的地址不一致
                修改 uc/avatar.php
                可以获取到旧版的头像地址(统一放到了old里面)
if(file_exists(dirname(__FILE__).'/'.$avatar))
        {
                $avatar_url=$avatar;
               
        }
        else
        {
                $avatar = './data/avatar/old/'.$uid.".gif";
        if(file_exists(dirname(__FILE__).'/'.$avatar))
        {
                $avatar_url=$avatar;
               
        }
        else{
               
        $size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
        $avatar_url = 'images/noavatar_'.$size.'.gif';
        }
        }
               
                       
        8、论坛帖子原先置顶的帖子会出现不能访问的现象,提示没有权限,不管是谁,新置顶的帖子可以访问
        9、不能发帖,是因为后台设置问题。板块管理(启用主体分类)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-1 22:28 , Processed in 0.187611 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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