淺談網站數據從ORACLE到MYSQL的兼容遷徙

淺談對互聯網專欄的一些意見
2016-05-13
Discuz! 運用中間挑選運用小技能
2016-05-13
Show all

淺談網站數據從ORACLE到MYSQL的兼容遷徙

  網站團體改版進級,由於想要下降網站運轉本錢,斟酌變革數據庫,由本來的企業級數據庫ORACLE變革為較為小型的MYSQL,數據庫的變革中的一個主要進程就是網站的數據遷徙。在數據遷徙進程中碰到一些題目並花瞭較長的時光辦理,本日就剖析總結下網站的背景數據庫構建中須要留意的題目。

  1、分歧數據庫對巨細寫辨別分歧

  在數據庫遷徙測試進程中,發明經由過程網站背景治理體系增長的文章湧現非常情形,會湧現報錯信息。經由過程調取數據庫的文章SiteArticle表的記載發明新文章對應的記載條未能一般插入。

  經由過程代碼測試檢討發明,是因為網頁文件的代碼對付數據庫的操縱的表名字巨細寫紛歧致釀成的,ORACLE數據庫具有較好的包涵度,支撐網頁文件關於insert into Sitearticle()代碼對付SiteArticle表的插入新記載操縱;而MYSQL數據庫對巨細寫敏感,隻支撐insert into SiteArticle()代碼對付SiteArticle表的插入新記載操縱。

  要辦理這個題目,隻能細心檢察網頁文件源碼,變動對數據庫操縱的全部語句的數據庫名、表名、字段名等的字符巨細寫,堅持與數據庫中創立稱號的巨細寫同等。

  小結:從兼容性角度斟酌,在網站扶植的時刻就范例數據庫操縱相幹代碼中的巨細寫題目,在往後改換數據庫或進級數據庫的進程中,就沒必要擔憂巨細寫敏感度題目,也削減很多變動代碼事情量。

  2、分歧數據庫的個體數據范例界說分歧

  在數據庫變革的測試進程中,發明網站以往的文章詳情頁面的文章揭櫫時光表現有題目,非一般格局的年代日時:分的款式。

  經由頁面調取文件代碼、數據庫記載等內容的檢討後,發明是因為ORACLE中對時光的界說范例隻要Date一種,而這類界說范例的格局包含年代日和時光;而在MYSQL中對時光的界說范例包括Date、Time、Datetime三種,在MYSQL中對付Date范例的界說僅僅包括年代日而沒有包括時光。

  要辦理這個題目,隻能把MYSQL數據庫表中創立的字段范例由本來的Date改成Datetime,再從新舉行這類數據的導入。

  小結:分歧的數據庫對詳細范例界說分歧,是以在完成新數據庫表構造構件後,最好舉行少許數據記載條遷徙舉行數據測試,可以或許實時發明題目地點並舉行數據范例修正,再舉行全體數據的遷徙,以避免形成數據反復導入,增長事情量。

  3、分歧數據庫對保存字的請求分歧

  在數據庫遷徙進程中,發明在同一瞭巨細寫題目後,提交文章時刻癥結字標簽的記載插入仍舊掉敗,報錯信息提醒為語法毛病。

  經由排查,發明是保存字在搗亂。在ORACLE數據庫中對保存字的立場是較為寬大的,能夠表名和字段稱號都可以應用保存字;而MYSQL數據庫劃定保存字是弗成以作為表名和字段名的。在網站的數據庫Sitearticle表中的個中一個字段名為show,屬於保存字,是以一樣樹立在MYSQL數據庫後,插入新記載報語法毛病。

  辦理這個題目,須要在網頁代碼中將代碼語句中的關於Sitearticle表的show字段名用“標記(即1按鍵前面的按鍵輸入的標記)引發來以差別。

  小結:分歧數據庫對保存字的請求分歧,以是在網站數據庫扶植的時刻豈論當前數據庫范例版本是不是支撐,隻管不消保存字作為字段名和表名,以保證前期數據庫版本的進級和調換後運轉一般。

  綜上所述,以上為網站數據庫變革進程中碰到的題目息爭決的技巧辦法,分享願望對人人有所贊助,本文由陽光減肥網 首創,轉載的時刻請保存作者鏈接,感謝。

Comments are closed.