本發(fā)明涉及數(shù)據(jù)庫(kù)設(shè)計(jì)
技術(shù)領(lǐng)域:
:,尤其涉及一種快速支持多數(shù)據(jù)庫(kù)同步開(kāi)發(fā)的方法。
背景技術(shù):
::隨著計(jì)算機(jī)行業(yè)發(fā)展日新月異,軟件產(chǎn)品需求不斷增大。作為軟件公司,如何高效完成一個(gè)產(chǎn)品的研發(fā)和升級(jí)變得越來(lái)越重要,而數(shù)據(jù)庫(kù)作為絕大部分軟件產(chǎn)品必不可少的組成部分,如何快速實(shí)現(xiàn)數(shù)據(jù)庫(kù)模塊的設(shè)計(jì)和升級(jí)成為所有軟件公司不得不解決的技術(shù)問(wèn)題。數(shù)據(jù)庫(kù)管理系統(tǒng)經(jīng)歷了30多年的發(fā)展演變,早已形成百家爭(zhēng)鳴的局面。數(shù)據(jù)庫(kù)種類繁多,常見(jiàn)的關(guān)系型數(shù)據(jù)庫(kù)有oracle、db2、sqlserver、sybase、mysql、達(dá)夢(mèng)、gbase等。在軟件開(kāi)發(fā)過(guò)程中,常常需要根據(jù)客戶的選擇確定支持的數(shù)據(jù)庫(kù),有的軟件產(chǎn)品需要同時(shí)支持好幾種類型的數(shù)據(jù)庫(kù),目前還沒(méi)有較好的快速支持多數(shù)據(jù)同步的方法來(lái)解決多數(shù)據(jù)庫(kù)支持的問(wèn)題,導(dǎo)致需要投入大量的人力物力,使得軟件產(chǎn)品的生命周期延長(zhǎng),效率低下。為此,申請(qǐng)人進(jìn)行了有益的探索和嘗試,找到了解決上述問(wèn)題的辦法,下面將要介紹的技術(shù)方案便是在這種背景下產(chǎn)生的。為此,申請(qǐng)人進(jìn)行了有益的探索和嘗試,找到了解決上述問(wèn)題的辦法,下面將要介紹的技術(shù)方案便是在這種背景下產(chǎn)生的。技術(shù)實(shí)現(xiàn)要素:本發(fā)明所要解決的技術(shù)問(wèn)題:針對(duì)現(xiàn)有的軟件產(chǎn)品開(kāi)發(fā)過(guò)程中多數(shù)據(jù)庫(kù) 支持時(shí)效率低下的問(wèn)題,而提供一種快速支持多數(shù)據(jù)庫(kù)同步開(kāi)發(fā)的方法。本發(fā)明所解決的技術(shù)問(wèn)題可以采用以下技術(shù)方案來(lái)實(shí)現(xiàn):一種快速支持多數(shù)據(jù)庫(kù)同步開(kāi)發(fā)的方法,包括以下步驟:步驟s1,創(chuàng)建一個(gè)包含有通用數(shù)據(jù)庫(kù)的初始化信息的數(shù)據(jù)庫(kù)信息中間件;步驟s2,創(chuàng)建數(shù)據(jù)庫(kù)源信息;步驟s3,將步驟s2中創(chuàng)建的數(shù)據(jù)庫(kù)源信息導(dǎo)入步驟s1中創(chuàng)建的數(shù)據(jù)庫(kù)信息中間件內(nèi),數(shù)據(jù)庫(kù)信息中間件將導(dǎo)入的數(shù)據(jù)庫(kù)源信息轉(zhuǎn)換為多數(shù)據(jù)庫(kù)的初始化創(chuàng)建腳本文件;步驟s4,數(shù)據(jù)庫(kù)信息中間件將步驟s3中轉(zhuǎn)換形成的多數(shù)據(jù)庫(kù)的初始化創(chuàng)建腳本文件導(dǎo)出,并使用導(dǎo)出的初始化創(chuàng)建腳本文件創(chuàng)建其他類型的數(shù)據(jù)庫(kù)。在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,在步驟s1中,所述數(shù)據(jù)庫(kù)信息中間件包含的通用數(shù)據(jù)庫(kù)的初始化信息包括表名、字段名稱、字段類型、字段長(zhǎng)度、是否主鍵以及是否自增長(zhǎng)。在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,所述數(shù)據(jù)庫(kù)源信息為數(shù)據(jù)庫(kù)設(shè)計(jì)er圖、數(shù)據(jù)庫(kù)初始化腳本文件、使用數(shù)據(jù)庫(kù)客戶端新建模式所建的表、或者直接編寫的數(shù)據(jù)庫(kù)信息中間件中的一種。在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,在步驟s3中,所述多數(shù)據(jù)庫(kù)包括oracle、db2、sqlserver、sybase、mysql、sqlite、firebird、達(dá)夢(mèng)、gbase以及數(shù)據(jù)庫(kù)概要設(shè)計(jì)文檔中的數(shù)據(jù)字典。由于采用了如上的技術(shù)方案,本發(fā)明的有益效果在于:通過(guò)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)信息中間件,可以將任意一種數(shù)據(jù)庫(kù)設(shè)計(jì)或已建好的數(shù)據(jù)庫(kù)模式轉(zhuǎn)換為數(shù)據(jù)庫(kù)信息中間件,再通過(guò)數(shù)據(jù)庫(kù)信息中間件輸出為其他類型數(shù)據(jù)庫(kù)的初始化創(chuàng)建腳本文件。在項(xiàng)目開(kāi)發(fā)過(guò)程中數(shù)據(jù)設(shè)計(jì)人員只需要專心于某一類型數(shù)據(jù)庫(kù)的設(shè)計(jì)和變更,再通過(guò)本發(fā)明的方法即可實(shí)現(xiàn)快速實(shí)現(xiàn)對(duì)其他類型數(shù)據(jù)庫(kù)的支持,有效降低了人力物力的投入,縮短了軟件產(chǎn)品的開(kāi)發(fā)周期,提高 了開(kāi)發(fā)效率。附圖說(shuō)明為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明的原理示意圖。圖2是本發(fā)明的一個(gè)具體實(shí)施例的示意圖。具體實(shí)施方式為了使本發(fā)明實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,下面結(jié)合具體圖示,進(jìn)一步闡述本發(fā)明。參見(jiàn)圖1,本發(fā)明的一種一種快速支持多數(shù)據(jù)庫(kù)同步開(kāi)發(fā)的方法,包括以下步驟:步驟s1,創(chuàng)建一個(gè)包含有通用數(shù)據(jù)庫(kù)的初始化信息的數(shù)據(jù)庫(kù)信息中間件,通用數(shù)據(jù)庫(kù)的初始化信息包括表名、字段名稱、字段類型、字段長(zhǎng)度、是否主鍵以及是否自增長(zhǎng)等信息;步驟s2,創(chuàng)建數(shù)據(jù)庫(kù)源信息,數(shù)據(jù)庫(kù)源信息為數(shù)據(jù)庫(kù)設(shè)計(jì)er圖、數(shù)據(jù)庫(kù)初始化腳本文件、使用數(shù)據(jù)庫(kù)客戶端新建模式所建的表、或者直接編寫的數(shù)據(jù)庫(kù)信息中間件中的一種;步驟s3,將步驟s2中創(chuàng)建的數(shù)據(jù)庫(kù)源信息導(dǎo)入步驟s1中創(chuàng)建的數(shù)據(jù)庫(kù)信息中間件內(nèi),數(shù)據(jù)庫(kù)信息中間件將導(dǎo)入的數(shù)據(jù)庫(kù)源信息轉(zhuǎn)換為多數(shù)據(jù)庫(kù)的初始化創(chuàng)建腳本文件,多數(shù)據(jù)庫(kù)包括oracle、db2、sqlserver、sybase、mysql、sqlite、firebird、達(dá)夢(mèng)、gbase以及數(shù)據(jù)庫(kù)概要設(shè)計(jì)文檔中的數(shù)據(jù)字典等;步驟s4,數(shù)據(jù)庫(kù)信息中間件將步驟s3中轉(zhuǎn)換形成的多數(shù)據(jù)庫(kù)的初始化創(chuàng)建腳本文件導(dǎo)出,并使用導(dǎo)出的初始化創(chuàng)建腳本文件創(chuàng)建其他類型的數(shù)據(jù)庫(kù)。本發(fā)明通過(guò)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)信息中間件,可以將任意一種數(shù)據(jù)庫(kù)設(shè)計(jì)或已建好的數(shù)據(jù)庫(kù)模式轉(zhuǎn)換為數(shù)據(jù)庫(kù)信息中間件,再通過(guò)數(shù)據(jù)庫(kù)信息中間件輸出為其他類型數(shù)據(jù)庫(kù)的初始化創(chuàng)建腳本文件。參見(jiàn)圖2,圖中給出了本發(fā)明的一個(gè)具體實(shí)施例,該具體實(shí)施例是將mysql數(shù)據(jù)庫(kù)轉(zhuǎn)化為達(dá)夢(mèng)數(shù)據(jù)庫(kù)的初始化創(chuàng)建腳本文件,并使用達(dá)夢(mèng)數(shù)據(jù)庫(kù)的初始化創(chuàng)建腳本文件創(chuàng)建達(dá)夢(mèng)數(shù)據(jù)庫(kù),其包括以下步驟:步驟1,使用mysql客戶端連接服務(wù)器;步驟2,使用客戶端新建模式schema1;步驟3,在模式schema1中新建表table1、table2...;步驟4,配置數(shù)據(jù)庫(kù)源信息為schema1;步驟5,讀取schema1中的表信息;步驟6,將數(shù)據(jù)庫(kù)源信息保存為數(shù)據(jù)庫(kù)信息中間件;步驟7,讀取數(shù)據(jù)庫(kù)信息中間件;步驟8,導(dǎo)出為達(dá)夢(mèng)數(shù)據(jù)庫(kù)的初始化創(chuàng)建腳本文件;步驟9,使用達(dá)夢(mèng)數(shù)據(jù)庫(kù)的初始化創(chuàng)建腳本文件創(chuàng)建達(dá)夢(mèng)數(shù)據(jù)庫(kù);以上顯示和描述了本發(fā)明的基本原理和主要特征和本發(fā)明的優(yōu)點(diǎn)。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說(shuō)明書中描述的只是說(shuō)明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會(huì)有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。本發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書及其等效物界定。技術(shù)特征:技術(shù)總結(jié)本發(fā)明公開(kāi)的一種快速支持多數(shù)據(jù)庫(kù)同步開(kāi)發(fā)的方法,包括以下步驟:步驟S1,創(chuàng)建一個(gè)包含有通用數(shù)據(jù)庫(kù)的初始化信息的數(shù)據(jù)庫(kù)信息中間件;步驟S2,創(chuàng)建數(shù)據(jù)庫(kù)源信息;步驟S3,將數(shù)據(jù)庫(kù)源信息導(dǎo)入數(shù)據(jù)庫(kù)信息中間件內(nèi),數(shù)據(jù)庫(kù)信息中間件將導(dǎo)入的數(shù)據(jù)庫(kù)源信息轉(zhuǎn)換為多數(shù)據(jù)庫(kù)的初始化創(chuàng)建腳本文件;步驟S4,數(shù)據(jù)庫(kù)信息中間件將初始化創(chuàng)建腳本文件導(dǎo)出,并使用導(dǎo)出的初始化創(chuàng)建腳本文件創(chuàng)建其他類型的數(shù)據(jù)庫(kù)。在項(xiàng)目開(kāi)發(fā)過(guò)程中數(shù)據(jù)設(shè)計(jì)人員只需要專心于某一類型數(shù)據(jù)庫(kù)的設(shè)計(jì)和變更,再通過(guò)本發(fā)明的方法即可實(shí)現(xiàn)快速實(shí)現(xiàn)對(duì)其他類型數(shù)據(jù)庫(kù)的支持,有效降低了人力物力的投入,縮短了軟件產(chǎn)品的開(kāi)發(fā)周期,提高了開(kāi)發(fā)效率。技術(shù)研發(fā)人員:孫康寧;張金龍;黃福飛受保護(hù)的技術(shù)使用者:上海格爾軟件股份有限公司技術(shù)研發(fā)日:2016.02.02技術(shù)公布日:2017.08.08