MENU 服務(wù) 案例
網(wǎng)站建設(shè)-網(wǎng)站設(shè)計(jì)-北京網(wǎng)站建設(shè)-高端網(wǎng)站制作公司-尚品中國
我們通過擁抱變化創(chuàng)造
360°的品牌價值__
簡體
簡體中文 English

尚品與山東真諾智能設(shè)備有限公司簽署網(wǎng)站改版合作協(xié)議

類型:尚品動態(tài) 了解更多

網(wǎng)站數(shù)據(jù)從ORACLE遷移到MYSQL教程

來源:尚品中國| 類型:網(wǎng)站百科| 時間:2012-05-24
網(wǎng)站制作(xjjufeng.cn)整體改版升級,因?yàn)橄胍档途W(wǎng)站運(yùn)行成本,考慮變更數(shù)據(jù)庫,由原來的企業(yè)級數(shù)據(jù)庫ORACLE變更為較為小型的MYSQL,數(shù)據(jù)庫的變更中的一個重要過程就是網(wǎng)站的數(shù)據(jù)遷移。在數(shù)據(jù)遷移過程中遇到一些問題并花了較長的時間解決,今天就分析總結(jié)下網(wǎng)站的后臺數(shù)據(jù)庫構(gòu)建中需要注意的問題。

1、不同數(shù)據(jù)庫的個別數(shù)據(jù)類型定義不同

在數(shù)據(jù)庫變更的測試過程中,發(fā)現(xiàn)網(wǎng)站以往的文章詳情頁面的文章發(fā)表時間顯示有問題,非正常格式的年—月—日時:分的樣式。

經(jīng)過頁面調(diào)取文件代碼、數(shù)據(jù)庫記錄等內(nèi)容的檢查后,發(fā)現(xiàn)是由于ORACLE中對時間的定義類型只有Date一種,而這種定義類型的格式包括年月日和時間;而在MYSQL中對時間的定義類型包含Date、Time、Datetime三種,在MYSQL中對于Date類型的定義僅僅包含年月日而不包含時間。

要解決這個問題,只能把MYSQL數(shù)據(jù)庫表中創(chuàng)建的字段類型由原來的Date改為Datetime,再重新進(jìn)行這類數(shù)據(jù)的導(dǎo)入。

小結(jié):不同的數(shù)據(jù)庫對具體類型定義不同,因此在完成新數(shù)據(jù)庫表結(jié)構(gòu)構(gòu)件后,最好進(jìn)行少量數(shù)據(jù)記錄條遷移進(jìn)行數(shù)據(jù)測試,能夠及時發(fā)現(xiàn)問題所在并進(jìn)行數(shù)據(jù)類型修改,再進(jìn)行全部數(shù)據(jù)的遷移,以免造成數(shù)據(jù)重復(fù)導(dǎo)入,增加工作量。

2、不同數(shù)據(jù)庫對大小寫區(qū)分不同

在數(shù)據(jù)庫遷移測試過程中,發(fā)現(xiàn)通過網(wǎng)站后臺管理系統(tǒng)增加的文章出現(xiàn)異常情況,會出現(xiàn)報錯信息。通過調(diào)取數(shù)據(jù)庫的文章SiteArticle表的記錄發(fā)現(xiàn)新文章對應(yīng)的記錄條未能正常插入。

通過代碼測試檢查發(fā)現(xiàn),是由于網(wǎng)頁文件的代碼對于數(shù)據(jù)庫的操作的表名字大小寫不一致造成的,ORACLE數(shù)據(jù)庫具有較好的包容度,支持網(wǎng)頁文件關(guān)于insert into Sitearticle()代碼對于SiteArticle表的插入新記錄操作;而MYSQL數(shù)據(jù)庫對大小寫敏感,只支持insert into SiteArticle()代碼對于SiteArticle表的插入新記錄操作。

要解決這個問題,只能仔細(xì)查看網(wǎng)頁文件源碼,更改對數(shù)據(jù)庫操作的所有語句的數(shù)據(jù)庫名、表名、字段名等的字符大小寫,保持與數(shù)據(jù)庫中創(chuàng)建名稱的大小寫一致。

小結(jié):從兼容性角度考慮,在網(wǎng)站建設(shè)的時候就規(guī)范數(shù)據(jù)庫操作相關(guān)代碼中的大小寫問題,在今后更換數(shù)據(jù)庫或升級數(shù)據(jù)庫的過程中,就不必?fù)?dān)心大小寫敏感度問題,也減少許多更改代碼工作量。

3、不同數(shù)據(jù)庫對保留字的要求不同

在數(shù)據(jù)庫遷移過程中,發(fā)現(xiàn)在統(tǒng)一了大小寫問題后,提交文章時候關(guān)鍵字標(biāo)簽的記錄插入依舊失敗,報錯信息提示為語法錯誤。

經(jīng)過排查,發(fā)現(xiàn)是保留字在搗鬼。在ORACLE數(shù)據(jù)庫中對保留字的態(tài)度是較為寬容的,可以表名和字段名稱均可以使用保留字;而MYSQL數(shù)據(jù)庫規(guī)定保留字是不可以作為表名和字段名的。在網(wǎng)站的數(shù)據(jù)庫Sitearticle表中的其中一個字段名為show,屬于保留字,因此同樣建立在MYSQL數(shù)據(jù)庫后,插入新記錄報語法錯誤。

解決這個問題,需要在網(wǎng)頁代碼中將代碼語句中的關(guān)于Sitearticle表的show字段名用``符號(即1按鍵前面的按鍵輸入的符號)引起來以區(qū)別。

小結(jié):不同數(shù)據(jù)庫對保留字的要求不同,所以在網(wǎng)站數(shù)據(jù)庫建設(shè)的時候不論當(dāng)前數(shù)據(jù)庫類型版本是否支持,盡量不用保留字作為字段名和表名,以保障后期數(shù)據(jù)庫版本的升級和替換后運(yùn)行正常。
本文發(fā)布于北京網(wǎng)站制作公司尚品中國http://xjjufeng.cn/
來源聲明:本文章系尚品中國編輯原創(chuàng)或采編整理,如需轉(zhuǎn)載請注明來自尚品中國。以上內(nèi)容部分(包含圖片、文字)來源于網(wǎng)絡(luò),如有侵權(quán),請及時與本站聯(lián)系(010-60259772)。
TAG標(biāo)簽:

如果您的網(wǎng)站可以增加轉(zhuǎn)化次數(shù)并提高客戶滿意度,該怎么辦?

預(yù)約專業(yè)咨詢顧問溝通!

*尚品專業(yè)顧問將盡快與您聯(lián)系

免責(zé)聲明

非常感謝您訪問我們的網(wǎng)站。在您使用本網(wǎng)站之前,請您仔細(xì)閱讀本聲明的所有條款。

1、本站部分內(nèi)容來源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學(xué)習(xí)和交流,切勿用于任何商業(yè)活動。

2、本站不承擔(dān)用戶因使用這些資源對自己和他人造成任何形式的損失或傷害。

3、本聲明未涉及的問題參見國家有關(guān)法律法規(guī),當(dāng)本聲明與國家法律法規(guī)沖突時,以國家法律法規(guī)為準(zhǔn)。

4、如果侵害了您的合法權(quán)益,請您及時與我們,我們會在第一時間刪除相關(guān)內(nèi)容!

聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com

現(xiàn)在就與專業(yè)咨詢顧問溝通!

  • 全國服務(wù)熱線

    400-700-4979

  • 北京服務(wù)熱線

    010-60259772

信息保護(hù)中請放心填寫
在線咨詢

免責(zé)聲明

非常感謝您訪問我們的網(wǎng)站。在您使用本網(wǎng)站之前,請您仔細(xì)閱讀本聲明的所有條款。

1、本站部分內(nèi)容來源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學(xué)習(xí)和交流,切勿用于任何商業(yè)活動。

2、本站不承擔(dān)用戶因使用這些資源對自己和他人造成任何形式的損失或傷害。

3、本聲明未涉及的問題參見國家有關(guān)法律法規(guī),當(dāng)本聲明與國家法律法規(guī)沖突時,以國家法律法規(guī)為準(zhǔn)。

4、如果侵害了您的合法權(quán)益,請您及時與我們,我們會在第一時間刪除相關(guān)內(nèi)容!

聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com