<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    spark的自留地(ofbiz/eclipse rcp/shark/opentaps)

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      54 Posts :: 0 Stories :: 112 Comments :: 0 Trackbacks

    我的產(chǎn)品是被要求運(yùn)行在多種常見數(shù)據(jù)庫(kù)平臺(tái)下(mysql/sqlserver/oracle)下,在開發(fā)中需要嚴(yán)格遵循相關(guān)的規(guī)范以確保能夠?qū)崿F(xiàn)跨數(shù)據(jù)庫(kù)類型的要求.(相關(guān)的要點(diǎn)在我的"你的系統(tǒng)真的因?yàn)槭褂胔ibernate就可以適應(yīng)各種數(shù)據(jù)庫(kù)嗎? "一文中已提及).在初始開發(fā)時(shí)有一個(gè)問題是比較困擾我的團(tuán)隊(duì)的,我們開發(fā)的時(shí)候必定是基于某個(gè)特定的數(shù)據(jù)庫(kù)開發(fā)的(比如mysql),但在測(cè)試階段是需要在不同的數(shù)據(jù)庫(kù)平臺(tái)下進(jìn)行兼容性測(cè)試,由于開發(fā)過程中數(shù)據(jù)庫(kù)結(jié)構(gòu)與種子數(shù)據(jù)變化非常快,全部編寫sql方式非常浪費(fèi)時(shí)間,如何能找到一種高效的數(shù)據(jù)庫(kù)相互遷移的工具,是我們當(dāng)時(shí)所急需的解決方案.

    其實(shí)也沒啥選擇,比較常用的數(shù)據(jù)庫(kù)遷移工具就是Sqlserver自帶的DTS,這玩意在sql server數(shù)據(jù)庫(kù)間進(jìn)行數(shù)據(jù)導(dǎo)入/導(dǎo)出時(shí)倒確實(shí)比較好用,在不同數(shù)據(jù)庫(kù)類型進(jìn)行操作時(shí),就會(huì)出多多問題,如:類型轉(zhuǎn)換需手工指定/導(dǎo)出字段有雙引號(hào)...

    所以最后的選擇就是自己做一個(gè)DTS好啦,思路如下:
    1、選擇源數(shù)據(jù)庫(kù)連接與目標(biāo)數(shù)據(jù)庫(kù)連接
    2、根據(jù)源數(shù)據(jù)庫(kù)遍歷所有數(shù)據(jù)庫(kù)對(duì)象(表),做為基準(zhǔn)
    3、刪除目標(biāo)數(shù)據(jù)庫(kù)所有表外鍵及索引、刪除所有種字?jǐn)?shù)據(jù)(根據(jù)約定)數(shù)據(jù)、字段均允許null
    4、遍歷源數(shù)據(jù)庫(kù)中所有表,為目標(biāo)數(shù)據(jù)庫(kù)修改結(jié)構(gòu)(如增刪字段,字段改類型、大小)
    5、將源數(shù)據(jù)庫(kù)中種子數(shù)據(jù)表數(shù)據(jù)拷貝至目標(biāo)數(shù)據(jù)庫(kù)中
    6、根據(jù)源數(shù)據(jù)庫(kù)為目標(biāo)數(shù)據(jù)庫(kù)中的表創(chuàng)建外鍵及索引、設(shè)置是否允許為null
    7、搞掂!

    完工后總代碼量不過兩千行(因?yàn)樾杩紤]不同數(shù)據(jù)庫(kù)的SQL Dialet,否則應(yīng)該更少)

    用戶界面基于Eclipse RCP技術(shù)開發(fā),使用JFace Wizard向?qū)Вㄈ绻皇窍胗孟驅(qū)У脑挘憧梢杂肧WT來做)對(duì)話框獲得源數(shù)據(jù)庫(kù)與目標(biāo)數(shù)據(jù)庫(kù)的連接內(nèi)容,并在用戶點(diǎn)擊完成按鈕后,在進(jìn)度條中提示用戶執(zhí)行情況.用了這個(gè)玩意以后,測(cè)試同事的數(shù)據(jù)庫(kù)兼容性測(cè)試就再也不用來煩我們開發(fā)組啦!真是爽呀!當(dāng)然很多喜歡折騰的客戶(比如突然在哪里聽說oracle是大型數(shù)據(jù)庫(kù),非讓你幫他弄過去)此類朝三暮四也就自然不在話下啦!


    數(shù)據(jù)庫(kù)遷移向?qū)聊灰? src=

    數(shù)據(jù)庫(kù)遷移向?qū)聊欢? src=

    數(shù)據(jù)庫(kù)遷移向?qū)聊蝗? src=

    本人原創(chuàng)文章,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明出處!
    posted on 2008-10-27 14:22 shanghai_spark 閱讀(1478) 評(píng)論(3)  編輯  收藏 所屬分類: eclipse rcp

    Feedback

    # re: DTS不好用?拿Eclipse RCP做個(gè)自己的數(shù)據(jù)庫(kù)遷移工具 2008-10-28 09:52 于翔
    呵呵 不錯(cuò)!  回復(fù)  更多評(píng)論
      

    # re: DTS不好用?拿Eclipse RCP做個(gè)自己的數(shù)據(jù)庫(kù)遷移工具 2008-10-28 22:57 duxu
    代碼呢  回復(fù)  更多評(píng)論
      

    # re: DTS不好用?拿Eclipse RCP做個(gè)自己的數(shù)據(jù)庫(kù)遷移工具 2009-04-15 18:40 fykenny
    我是基于WIZARD寫的,但是,遇到了問題,就是要有進(jìn)度條,而且插數(shù)據(jù)要后臺(tái)非UI線程,而且,操作什么表要在向?qū)У淖詈竽莻€(gè)頁(yè)面中的TEXTBOX中動(dòng)態(tài)顯示出來? 遇到了UI線程與非UI線程的問題

    怎么辦?

      回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 亚洲欧洲在线观看| 国产亚洲欧洲Aⅴ综合一区| 亚洲校园春色小说| 亚洲欧洲免费视频| 久久亚洲精品成人AV| 精品久久香蕉国产线看观看亚洲 | 日本免费一本天堂在线| 亚洲人成自拍网站在线观看| 特级做A爰片毛片免费看无码| 国产日产亚洲系列最新| 视频免费在线观看| 亚洲成人免费在线| 免费看黄视频网站| 亚洲AV无码资源在线观看| 免费a级毛片在线观看| 国产99久久久久久免费看| 免费毛片在线播放| 老司机福利在线免费观看| 三上悠亚亚洲一区高清| 久久狠狠躁免费观看| gogo全球高清大胆亚洲| 中文字幕免费视频精品一| 亚洲狠狠综合久久| 成年女人视频网站免费m| 国产成人综合亚洲一区| 国产成人综合亚洲AV第一页| 99精品在线免费观看| 亚洲欧美日韩中文无线码| 亚洲性日韩精品一区二区三区 | 久久精品国产亚洲AV嫖农村妇女| 4399好看日本在线电影免费| 亚洲AV日韩AV无码污污网站| 国产偷窥女洗浴在线观看亚洲 | 亚洲国产综合专区电影在线| 欧美日韩国产免费一区二区三区 | 亚洲尹人九九大色香蕉网站| 成人免费一级毛片在线播放视频| 边摸边吃奶边做爽免费视频网站| 国产亚洲精品无码成人| 成年男女男精品免费视频网站| 一级毛片免费播放视频|