注:本教程以本地數據轉換為演示,服務器上的轉換方法類似。
一、 轉換前的準備
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
新聞熱點
疑難解答