国产精品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>

      基于驅(qū)動(dòng)層實(shí)現(xiàn)的異構(gòu)數(shù)據(jù)庫保留字兼容方法及系統(tǒng)的制作方法

      文檔序號(hào):6376433閱讀:322來源:國(guó)知局
      專利名稱:基于驅(qū)動(dòng)層實(shí)現(xiàn)的異構(gòu)數(shù)據(jù)庫保留字兼容方法及系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于計(jì)算機(jī)中的數(shù)據(jù)庫技術(shù)領(lǐng)域,具體涉及ー種基于驅(qū)動(dòng)層實(shí)現(xiàn)的異構(gòu)數(shù)據(jù)庫保留字兼容方法及系統(tǒng),用于跨異構(gòu)數(shù)據(jù)庫的移植服務(wù)。
      背景技術(shù)
      數(shù)據(jù)庫針對(duì)應(yīng)用程序進(jìn)行兼容的領(lǐng)域,在當(dāng)前大量的現(xiàn)有舊信息系統(tǒng)升級(jí)改造項(xiàng)目中非常普遍。在這些項(xiàng)目中開發(fā)商要求國(guó)產(chǎn)數(shù)據(jù)庫廠商保證應(yīng)用程序不改一行代碼,實(shí)現(xiàn)從舊數(shù)據(jù)庫向新的其它廠商數(shù)據(jù)庫的移植。但是由于國(guó)外數(shù)據(jù)庫廠商擁有各自市場(chǎng)的穩(wěn)定的市場(chǎng)范圍,因此在異構(gòu)數(shù)據(jù)庫產(chǎn)品兼容領(lǐng)域沒有強(qiáng)烈的產(chǎn)品需求,DB2是近兩年才開始走Oracle兼容的路線,SQLServer、Oracle等公司基本上沒有宣傳過異構(gòu)數(shù)據(jù)庫兼容的特性。而作為國(guó)產(chǎn)數(shù)據(jù)庫產(chǎn)品提供商,需要搶占國(guó)外數(shù)據(jù)庫產(chǎn)品的市場(chǎng)份額,在這樣的形式 下,如何能簡(jiǎn)單易行的兼容國(guó)外數(shù)據(jù)庫產(chǎn)品及其上層應(yīng)用,就成為非常重要的研究領(lǐng)域。在應(yīng)用程序不改一行代碼,實(shí)現(xiàn)保留字兼容問題上,目前很多國(guó)產(chǎn)數(shù)據(jù)庫廠商無法解決,其中原因之ー是,應(yīng)用系統(tǒng)中的部分?jǐn)?shù)據(jù)庫對(duì)象名的名字,在數(shù)據(jù)庫中是屬于保留字,如果要不變換對(duì)象名,必須對(duì)保留字對(duì)象名加雙引號(hào)作為定界標(biāo)識(shí)符出現(xiàn),但是這樣就要求代碼進(jìn)行修改,因此無論是加引號(hào)還是改對(duì)象名,都無法避免更改應(yīng)用程序代碼。

      發(fā)明內(nèi)容
      為了解決以上問題,本發(fā)明提出ー種基于驅(qū)動(dòng)層實(shí)現(xiàn)的異構(gòu)數(shù)據(jù)庫保留字兼容方法,在不改變應(yīng)用程序的條件下實(shí)現(xiàn)應(yīng)用程序從源數(shù)據(jù)庫向不同的異構(gòu)數(shù)據(jù)庫的移植。本發(fā)明還提供了實(shí)現(xiàn)上述方法的系統(tǒng)。異構(gòu)數(shù)據(jù)庫保留字兼容方法,預(yù)先在驅(qū)動(dòng)層加載保留字配置文件,保留字配置文件中存儲(chǔ)有屬于目標(biāo)數(shù)據(jù)庫但不屬于源數(shù)據(jù)庫的保留字,該方法具體為應(yīng)用程序執(zhí)行SQL語句;驅(qū)動(dòng)層對(duì)SQL語句進(jìn)行分析,生成具有語義的語法樹;依據(jù)保留字配置文件對(duì)語法樹中的對(duì)象名進(jìn)行保留字識(shí)別,并采用目標(biāo)數(shù)據(jù)庫指定的保留字符號(hào)對(duì)其進(jìn)行標(biāo)記;依據(jù)保留字標(biāo)記后的語法樹生成新的SQL語句;將新的SQL語句發(fā)送給目標(biāo)數(shù)據(jù)庫。異構(gòu)數(shù)據(jù)庫保留字兼容系統(tǒng),該系統(tǒng)安裝于驅(qū)動(dòng)層,包括保留字字典,用于存儲(chǔ)保留字配置文件,保留字配置文件中存儲(chǔ)有屬于目標(biāo)數(shù)據(jù)庫但不屬于源數(shù)據(jù)庫的保留字;語法分析器,用于對(duì)應(yīng)用程序執(zhí)行的SQL語句進(jìn)行分析,生成具有語義的語法樹;保留字識(shí)別器,用于依據(jù)保留字配置文件對(duì)語法樹中的對(duì)象名進(jìn)行保留字識(shí)別,采用目標(biāo)數(shù)據(jù)庫指定的保留字符號(hào)對(duì)其進(jìn)行標(biāo)記;SQL轉(zhuǎn)換器,用于依據(jù)保留字標(biāo)記后的語法樹生成新的SQL語句,將新的SQL語句發(fā)送給目標(biāo)數(shù)據(jù)庫。本發(fā)明的有益效果體現(xiàn)在本發(fā)明實(shí)現(xiàn)目標(biāo)系統(tǒng)的程序不改一行代碼,完成目標(biāo)系統(tǒng)從源數(shù)據(jù)庫向不同的異構(gòu)數(shù)據(jù)庫移植的目的,從而形成一個(gè)輕巧的在驅(qū)動(dòng)層提升異構(gòu)數(shù)據(jù)庫兼容性的方案,與傳統(tǒng)服務(wù)器層進(jìn)行兼容支持相比,在驅(qū)動(dòng)層支持兼容性具有簡(jiǎn)單靈活的技術(shù)特點(diǎn),從而降低系統(tǒng)風(fēng)險(xiǎn)和移植成本。


      圖I為本發(fā)明方法流程圖。圖2為本發(fā)明系統(tǒng)結(jié)構(gòu)示意圖。
      具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施方式
      對(duì)本發(fā)明作進(jìn)ー步的描述,但該實(shí)施方式不應(yīng)理解為對(duì)本發(fā)明的限制。驅(qū)動(dòng)層就是介于服務(wù)器和應(yīng)用程序之間的程序,用于在服務(wù)器之前處理應(yīng)用程序的請(qǐng)求,這里不限制其具體的實(shí)現(xiàn)方式。預(yù)先在驅(qū)動(dòng)層設(shè)置ー個(gè)保留字配置文件,驅(qū)動(dòng)層啟動(dòng)過程對(duì)保留字配置文件進(jìn)行加載,其中為了便于快速查找保留字。在驅(qū)動(dòng)層,保留字字典定義為ー個(gè)HASH表,保留字作為HASH表中的元素,每個(gè)保留字keyword用一個(gè)結(jié)構(gòu)存放在HASH表中,其結(jié)構(gòu)定義如表I所示。
      權(quán)利要求
      1.異構(gòu)數(shù)據(jù)庫保留字兼容方法,預(yù)先在驅(qū)動(dòng)層加載保留字配置文件,保留字配置文件中存儲(chǔ)有屬于目標(biāo)數(shù)據(jù)庫但不屬于源數(shù)據(jù)庫的保留字,該方法具體為 應(yīng)用程序執(zhí)行SQL語句; 驅(qū)動(dòng)層對(duì)SQL語句進(jìn)行分析,生成具有語義的語法樹; 依據(jù)保留字配置文件對(duì)語法樹中的對(duì)象名進(jìn)行保留字識(shí)別,并采用目標(biāo)數(shù)據(jù)庫指定的保留字符號(hào)對(duì)其進(jìn)行標(biāo)記; 依據(jù)保留字標(biāo)記后的語法樹生成新的SQL語句; 將新的SQL語句發(fā)送給目標(biāo)數(shù)據(jù)庫。
      2.異構(gòu)數(shù)據(jù)庫保留字兼容系統(tǒng),該系統(tǒng)安裝于驅(qū)動(dòng)層,包括 保留字字典,用于存儲(chǔ)保留字配置文件,保留字配置文件中存儲(chǔ)有屬于目標(biāo)數(shù)據(jù)庫但不屬于源數(shù)據(jù)庫的保留字; 語法分析器,用于對(duì)應(yīng)用程序執(zhí)行的SQL語句進(jìn)行分析,生成具有語義的語法樹; 保留字識(shí)別器,用于依據(jù)保留字配置文件對(duì)語法樹中的對(duì)象名進(jìn)行保留字識(shí)別,采用目標(biāo)數(shù)據(jù)庫指定的保留字符號(hào)對(duì)其進(jìn)行標(biāo)記; SQL轉(zhuǎn)換器,用于依據(jù)保留字標(biāo)記后的語法樹生成新的SQL語句,將新的SQL語句發(fā)送給目標(biāo)數(shù)據(jù)庫。
      全文摘要
      本發(fā)明公開了一種異構(gòu)數(shù)據(jù)庫保留字兼容方法,預(yù)先在驅(qū)動(dòng)層加載存儲(chǔ)有屬于目標(biāo)數(shù)據(jù)庫但不屬于源數(shù)庫的保留字配置文件,該方法具體為應(yīng)用程序執(zhí)行SQL語句;驅(qū)動(dòng)層對(duì)SQL語句進(jìn)行分析,生成具有語義的語法樹;依據(jù)保留字配置文件對(duì)語法樹中的對(duì)象名進(jìn)行保留字識(shí)別,并采用目標(biāo)數(shù)據(jù)庫的保留字符號(hào)對(duì)其進(jìn)行標(biāo)記;依據(jù)保留字標(biāo)記后的語法樹生成新的SQL語句;將新的SQL語句發(fā)送給目標(biāo)數(shù)據(jù)庫。本發(fā)明還提供實(shí)現(xiàn)上述方法的系統(tǒng)。本發(fā)明能夠不改變應(yīng)用程序代碼,實(shí)現(xiàn)從源數(shù)據(jù)庫向不同的異構(gòu)數(shù)據(jù)庫移植的目的,與傳統(tǒng)服務(wù)器層進(jìn)行兼容支持相比,在驅(qū)動(dòng)層支持兼容性具有簡(jiǎn)單靈活的技術(shù)特點(diǎn),降低系統(tǒng)風(fēng)險(xiǎn)和移植成本。
      文檔編號(hào)G06F17/27GK102867045SQ20121032629
      公開日2013年1月9日 申請(qǐng)日期2012年9月5日 優(yōu)先權(quán)日2012年9月5日
      發(fā)明者孫峰, 余院蘭 申請(qǐng)人:武漢達(dá)夢(mèng)數(shù)據(jù)庫有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1