因?yàn)槲业某绦蚴褂昧薕R框架如hibernate之類的東東,所以我們的系統(tǒng)是支持各種關(guān)系型數(shù)據(jù)庫(kù)的!很多哥們?cè)诮榻B自己的產(chǎn)品或是項(xiàng)目時(shí)都是這樣說(shuō)的,真的是這樣嗎?
也許最好你自己嘗試一下不同數(shù)據(jù)庫(kù)下的測(cè)試才能夸出這樣的海口!
首先,你是否一直通過(guò)OR框架而沒(méi)有試圖繞開(kāi)有時(shí)顯得不那么可愛(ài)的hibernate呢?在你程序中的native sql是不是一直在遵循SQL 99的標(biāo)準(zhǔn)?你的主鍵生成方法是使用native方式還是在用自增ID呢?
其次,你能保證你未使用目標(biāo)數(shù)據(jù)庫(kù)特有的功能特性嗎?如視圖在mysql 4及之前版本是不被支持的,oracle是不支持超過(guò)30個(gè)字符的數(shù)據(jù)庫(kù)對(duì)象名稱的...
再次,那些為了速度或是特定要求情況下而集成進(jìn)來(lái)的組件,它們是不是直接使用了數(shù)據(jù)庫(kù)特性?JasperReport?shark?
在經(jīng)歷過(guò)幾次數(shù)據(jù)庫(kù)切換后,我認(rèn)識(shí)到幻想在第一個(gè)發(fā)布版本不經(jīng)任何修改就支持所有數(shù)據(jù)庫(kù)是不現(xiàn)實(shí)的,也許應(yīng)該列出目標(biāo)環(huán)境下可能會(huì)使用到的數(shù)據(jù)庫(kù)集合,如:mysql/sqlserver/oracle。列出它們所共有的function,是否支持視圖,是否支持自增字段,數(shù)據(jù)庫(kù)對(duì)象名稱是否有長(zhǎng)度限制?大小寫(xiě)是否敏感?是否支持存儲(chǔ)過(guò)程?...
百練成鋼,一招鮮吃遍天下是不可能的!兄弟,你不這樣認(rèn)為嗎?
本人原創(chuàng)文章,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明出處!