国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種用于數(shù)據(jù)庫數(shù)據(jù)交互的數(shù)據(jù)庫適配方法和系統(tǒng)與流程

      文檔序號:40275195發(fā)布日期:2024-12-11 13:09閱讀:8來源:國知局
      一種用于數(shù)據(jù)庫數(shù)據(jù)交互的數(shù)據(jù)庫適配方法和系統(tǒng)與流程

      本申請涉及數(shù)據(jù)庫數(shù)據(jù)管理,具體涉及一種用于數(shù)據(jù)庫數(shù)據(jù)交互的數(shù)據(jù)庫適配方法和系統(tǒng)。


      背景技術(shù):

      1、現(xiàn)階段,在對計算軟件系統(tǒng)進(jìn)行項目交付時,經(jīng)常會遇到客戶的數(shù)據(jù)庫和軟件系統(tǒng)所依賴的數(shù)據(jù)庫類型不一致的情況,此時都需要根據(jù)客戶的數(shù)據(jù)庫類型重新調(diào)整系統(tǒng)的數(shù)據(jù)庫連接方式和sql語句,該方式不但耗時,且容易出現(xiàn)錯改、漏改等情況。并且對接到其它項目時,有可能還需要重復(fù)同樣的工作。因此,需要設(shè)計一種較通用的數(shù)據(jù)庫適配方法,來兼容和適配不同的數(shù)據(jù)庫。


      技術(shù)實(shí)現(xiàn)思路

      1、本發(fā)明主要解決的技術(shù)問題是如何適配和兼容不同類型的數(shù)據(jù)庫,以實(shí)現(xiàn)數(shù)據(jù)的正常交互。

      2、根據(jù)第一方面,一種實(shí)施例中提供一種用于數(shù)據(jù)庫數(shù)據(jù)交互的數(shù)據(jù)庫適配方法,包括:

      3、獲取待數(shù)據(jù)交互的源數(shù)據(jù)庫的數(shù)據(jù)庫類型;

      4、依據(jù)數(shù)據(jù)庫類型獲取所述源數(shù)據(jù)庫的數(shù)據(jù)庫實(shí)例生成方式和sql處理器;

      5、生成與所述源數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互的連接實(shí)例;

      6、通過預(yù)設(shè)的攔截器攔截所述源數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互時的sql操作;

      7、檢測所述sql操作中每個sql語句與目標(biāo)數(shù)據(jù)庫不同的數(shù)據(jù)庫關(guān)鍵字和/或數(shù)據(jù)庫函數(shù);

      8、對所述sql操作中不同的數(shù)據(jù)庫關(guān)鍵字和/或數(shù)據(jù)庫函數(shù)進(jìn)行替換,并按替換后的sql操作對目標(biāo)數(shù)據(jù)庫進(jìn)行操作,以完成從所述源數(shù)據(jù)庫向所述目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)交互。

      9、一實(shí)施例中,所述獲取待數(shù)據(jù)交互的源數(shù)據(jù)庫的數(shù)據(jù)庫類型,包括:

      10、根據(jù)調(diào)用所述源數(shù)據(jù)庫的nacos配置來動態(tài)獲取所述源數(shù)據(jù)庫的類型;

      11、所述源數(shù)據(jù)庫的類型包括mysql數(shù)據(jù)庫;

      12、所述目標(biāo)數(shù)據(jù)庫的類型為達(dá)夢數(shù)據(jù)庫或oceanbase數(shù)據(jù)庫。

      13、一實(shí)施例中,所述依據(jù)數(shù)據(jù)庫類型獲取所述源數(shù)據(jù)庫的數(shù)據(jù)庫實(shí)例生成方式和sql處理器,包括:

      14、應(yīng)用數(shù)據(jù)源實(shí)例工廠根據(jù)數(shù)據(jù)庫實(shí)例生成方法和/或數(shù)據(jù)池連接參數(shù),生成所述源數(shù)據(jù)庫的連接實(shí)例;

      15、所述數(shù)據(jù)池連接參數(shù)包括數(shù)據(jù)庫連接url、數(shù)據(jù)庫連接端口、數(shù)據(jù)庫名、數(shù)據(jù)庫連接用戶名、數(shù)據(jù)庫連接密碼、數(shù)據(jù)庫類型、數(shù)據(jù)庫驅(qū)動名、連接池初始化大小、連接池最大數(shù)量和/或連接池最小數(shù)量。

      16、一實(shí)施例中,所述檢測所述sql操作中每個所述sql語句與目標(biāo)數(shù)據(jù)庫不同的數(shù)據(jù)庫關(guān)鍵字和/或數(shù)據(jù)庫函數(shù),包括:

      17、通過調(diào)用鏈的方式逐個檢查所述sql語句中與所述目標(biāo)數(shù)據(jù)庫不同的數(shù)據(jù)庫關(guān)鍵字或者數(shù)據(jù)庫函數(shù);

      18、所述數(shù)據(jù)庫關(guān)鍵字和/或數(shù)據(jù)庫函數(shù)包括:`、concat、date_add、date_sub、date_format、str_to_date、ifnull和/或now()。

      19、一實(shí)施例中,所述對所述sql操作中不同的數(shù)據(jù)庫關(guān)鍵字和/或數(shù)據(jù)庫函數(shù)進(jìn)行替換,并按替換后的sql操作對目標(biāo)數(shù)據(jù)庫進(jìn)行操作,包括:

      20、當(dāng)沒有匹配到需要替換的所述數(shù)據(jù)庫關(guān)鍵字和/或所述數(shù)據(jù)庫函數(shù)時直接跳過;

      21、當(dāng)匹配到需要替換的數(shù)據(jù)庫關(guān)鍵字或數(shù)據(jù)庫函數(shù)時,通過調(diào)用鏈的方式按照每個數(shù)據(jù)庫關(guān)鍵字和數(shù)據(jù)庫函數(shù)的同步,來實(shí)現(xiàn)所述sql語句的替換;

      22、根據(jù)替換后的所述sql語句重新封裝數(shù)據(jù)庫操作對象,完成對目標(biāo)數(shù)據(jù)庫的操作。

      23、一實(shí)施例中,所述通過預(yù)設(shè)的攔截器攔截所述源數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互時的sql操作,包括:

      24、預(yù)設(shè)的所述攔截器包括mybatis攔截器;

      25、所述sql操作包括對數(shù)據(jù)庫的查詢操作和/或?qū)?shù)據(jù)庫數(shù)據(jù)的修改操作。

      26、如權(quán)利要求1所述的數(shù)據(jù)庫適配方法,其特征在于,所述數(shù)據(jù)庫實(shí)例生成方式包括mysql實(shí)例生成方式、達(dá)夢數(shù)據(jù)庫生成方式和/或oceanbase數(shù)據(jù)庫生成方式。

      27、根據(jù)第二方面,一種實(shí)施例中提供一種計算機(jī)可讀存儲介質(zhì),所述介質(zhì)上存儲有計算機(jī)程序,所述計算機(jī)程序能夠被處理器執(zhí)行以實(shí)現(xiàn)如第一方面所述的數(shù)據(jù)庫適配方法。

      28、根據(jù)第三方面,一種實(shí)施例中提供一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序和/或指令,所述計算機(jī)程序和/或指令被處理器執(zhí)行時實(shí)現(xiàn)第一方面所述的數(shù)據(jù)庫適配方法。

      29、根據(jù)第四方面,一種實(shí)施例中提供一種用于數(shù)據(jù)庫數(shù)據(jù)交互的數(shù)據(jù)庫適配系統(tǒng),其特征在于,用于應(yīng)用如第一方面所述的數(shù)據(jù)庫適配方法,所述數(shù)據(jù)庫適配系統(tǒng)包括:

      30、類型獲取單元,用于獲取待數(shù)據(jù)交互的源數(shù)據(jù)庫的數(shù)據(jù)庫類型;

      31、參數(shù)獲取單元,用于依據(jù)數(shù)據(jù)庫類型獲取所述源數(shù)據(jù)庫的數(shù)據(jù)庫實(shí)例生成方式和sql處理器;

      32、實(shí)例獲取單元,用于生成與所述源數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互的連接實(shí)例;

      33、攔截單元,用于通過預(yù)設(shè)的攔截器攔截所述源數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互時的sql操作;

      34、差異檢測單元,用于檢測所述sql操作中每個所述sql語句與目標(biāo)數(shù)據(jù)庫不同的數(shù)據(jù)庫關(guān)鍵字和/或數(shù)據(jù)庫函數(shù);

      35、替換執(zhí)行單元,用于對所述sql操作中不同的數(shù)據(jù)庫關(guān)鍵字和/或數(shù)據(jù)庫函數(shù)進(jìn)行替換,并按替換后的sql操作對目標(biāo)數(shù)據(jù)庫進(jìn)行操作,以完成從所述源數(shù)據(jù)庫向所述目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)交互。

      36、據(jù)上述實(shí)施例的數(shù)據(jù)庫適配方法,由于對類型不匹配的數(shù)據(jù)庫,通過替換sql語句中不同數(shù)據(jù)庫關(guān)鍵字和數(shù)據(jù)庫函數(shù)方式實(shí)現(xiàn)數(shù)據(jù)交互,進(jìn)而實(shí)現(xiàn)系統(tǒng)數(shù)據(jù)庫的適配,不但減免人工操作,還能大大提高數(shù)據(jù)交互的工作效率。



      技術(shù)特征:

      1.一種用于數(shù)據(jù)庫數(shù)據(jù)交互的數(shù)據(jù)庫適配方法,其特征在于,包括:

      2.如權(quán)利要求1所述的數(shù)據(jù)庫適配方法,其特征在于,所述獲取待數(shù)據(jù)交互的源數(shù)據(jù)庫的數(shù)據(jù)庫類型,包括:

      3.如權(quán)利要求1所述的數(shù)據(jù)庫適配方法,其特征在于,所述依據(jù)數(shù)據(jù)庫類型獲取所述源數(shù)據(jù)庫的數(shù)據(jù)庫實(shí)例生成方式和sql處理器,包括:

      4.如權(quán)利要求1所述的數(shù)據(jù)庫適配方法,其特征在于,所述檢測所述sql操作中每個所述sql語句與目標(biāo)數(shù)據(jù)庫不同的數(shù)據(jù)庫關(guān)鍵字和/或數(shù)據(jù)庫函數(shù),包括:

      5.如權(quán)利要求4所述的數(shù)據(jù)庫適配方法,其特征在于,所述對所述sql操作中不同的數(shù)據(jù)庫關(guān)鍵字和/或數(shù)據(jù)庫函數(shù)進(jìn)行替換,并按替換后的sql操作對目標(biāo)數(shù)據(jù)庫進(jìn)行操作,包括:

      6.如權(quán)利要求1所述的數(shù)據(jù)庫適配方法,其特征在于,所述通過預(yù)設(shè)的攔截器攔截所述源數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互時的sql操作,包括:

      7.如權(quán)利要求1所述的數(shù)據(jù)庫適配方法,其特征在于,所述數(shù)據(jù)庫實(shí)例生成方式包括mysql實(shí)例生成方式、達(dá)夢數(shù)據(jù)庫生成方式和/或oceanbase數(shù)據(jù)庫生成方式。

      8.一種計算機(jī)可讀存儲介質(zhì),其特征在于,所述介質(zhì)上存儲有計算機(jī)程序,所述計算機(jī)程序能夠被處理器執(zhí)行以實(shí)現(xiàn)如權(quán)利要求1-7中任一項所述的數(shù)據(jù)庫適配方法。

      9.一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序和/或指令,其特征在于,所述計算機(jī)程序和/或指令被處理器執(zhí)行時實(shí)現(xiàn)權(quán)利要求1-7中任一項所述的數(shù)據(jù)庫適配方法。

      10.一種用于數(shù)據(jù)庫數(shù)據(jù)交互的數(shù)據(jù)庫適配系統(tǒng),其特征在于,用于應(yīng)用如權(quán)利要求1至7中任一項所述的數(shù)據(jù)庫適配方法,所述數(shù)據(jù)庫適配系統(tǒng)包括:


      技術(shù)總結(jié)
      公開了一種用于數(shù)據(jù)庫數(shù)據(jù)交互的數(shù)據(jù)庫適配方法和系統(tǒng),首先獲取待數(shù)據(jù)交互的源數(shù)據(jù)庫的數(shù)據(jù)庫類型,并依據(jù)數(shù)據(jù)庫類型獲取源數(shù)據(jù)庫的數(shù)據(jù)庫實(shí)例生成方式和SQL處理器;然后生成與源數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互的連接實(shí)例;再通過預(yù)設(shè)的攔截器攔截源數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互時的SQL操作,并檢測SQL操作中每個SQL語句與目標(biāo)數(shù)據(jù)庫不同的數(shù)據(jù)庫關(guān)鍵字和數(shù)據(jù)庫函數(shù);最后對SQL操作中不同的數(shù)據(jù)庫關(guān)鍵字和數(shù)據(jù)庫函數(shù)進(jìn)行替換,并按替換后的SQL操作對目標(biāo)數(shù)據(jù)庫進(jìn)行操作,以完成數(shù)據(jù)交互。由于對類型不匹配的數(shù)據(jù)庫,通過替換SQL語句中不同數(shù)據(jù)庫關(guān)鍵字和數(shù)據(jù)庫函數(shù)方式實(shí)現(xiàn)數(shù)據(jù)交互,進(jìn)而實(shí)現(xiàn)系統(tǒng)數(shù)據(jù)庫的適配,不但減免人工操作,還能大大提高數(shù)據(jù)交互的工作效率。

      技術(shù)研發(fā)人員:請求不公布姓名,請求不公布姓名
      受保護(hù)的技術(shù)使用者:上海眾安信科信息技術(shù)服務(wù)有限公司
      技術(shù)研發(fā)日:
      技術(shù)公布日:2024/12/10
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1