• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      SQLServer2000到Oracle11G存儲過程轉(zhuǎn)換技術(shù)探究

      2017-04-25 22:55:06葉紅良
      關(guān)鍵詞:詞法文法專用

      葉紅良

      摘要:本文主要講述了存儲過程轉(zhuǎn)換的具體意義,并詳細(xì)的說明了不同數(shù)據(jù)庫之間的存儲過程的差異,還提出了一種從SQLeSvrerZ000到oracle11G存儲過程轉(zhuǎn)換的方法,并且闡述了存儲過程的差異和轉(zhuǎn)換以及其具體的設(shè)計(jì)思路,文中所寫轉(zhuǎn)換技術(shù)對異種數(shù)據(jù)庫存儲過程轉(zhuǎn)換具有普遍的指導(dǎo)意義。

      關(guān)鍵詞:SQLeSvrerZ000;oracle11G;存儲過程;轉(zhuǎn)換技術(shù)

      中圖分類號:TP311.13 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2017)01-0048-01

      1 存儲過程的差異和轉(zhuǎn)換

      在SQL標(biāo)準(zhǔn)產(chǎn)生之前,數(shù)據(jù)庫所使用的是大量的SQL專用語言,這些專用語言在一定程度上植入了個(gè)性化的特征,與此同時(shí)廣受用戶群體的青睞。伴隨著SQL標(biāo)準(zhǔn)的相繼完善,廠商們所用的專用語言也不斷向前發(fā)展,在此過程中大量的專用語言被引入程序設(shè)計(jì)概念,從而實(shí)現(xiàn)強(qiáng)大的業(yè)務(wù)邏輯功能。功能中包含了異常處理機(jī)制、流控制語法以及眾多的擴(kuò)展功能。大多數(shù)專用語言從根本上彼此之間的規(guī)范存有顯著的差異,就連在實(shí)現(xiàn)功能的技術(shù)上也是分門別類,但大量的專用語言中都含有條件處理、循環(huán)控制、變量聲明賦值和異常處理等一系列程序設(shè)計(jì)語言機(jī)制。

      SQL語言是SQLServer源程序當(dāng)中的專用語言,當(dāng)中的大部分特性并不能夠獲得Oarcle數(shù)據(jù)庫專用語言的支持,盡管兩者間所要實(shí)現(xiàn)的功能是相同的,可是兩者之間所用的語言機(jī)制且截然不同。更為復(fù)雜的情況是兩者間的語言特性無法對等實(shí)現(xiàn),為了能夠?qū)崿F(xiàn)擁有這一特性的SQLServer存儲過程的轉(zhuǎn)換,需要使用PL/SQL相關(guān)語句進(jìn)行模擬,這一過程中極易造成語義丟失或在結(jié)果中出現(xiàn)歧義。

      下面以SQLeSrver2000的數(shù)據(jù)定義語句為例進(jìn)行轉(zhuǎn)換過程分析,其他語句的轉(zhuǎn)換過程與此類似。

      首先給出SQLServer20OO中CREATE PROCEDURE語句簡化的上下文無關(guān)文法:

      ::=

      CREATE PROC[EDURE]

      [{@rameter}[OUTPUT]

      ][,…,n]

      AS[…n]

      ::=

      l(INSERT STATEMENT) …

      根據(jù)SQLServer2000的CREATEPROCEDURE語句上下文無關(guān)文法可構(gòu)造實(shí)例如下,它是轉(zhuǎn)換程序要進(jìn)行分析處理的源程序:

      CREATE PROCEDURE au_nfo

      @lastnamevacrhar(40),

      @firstnamevarehar(20)

      AS

      SELECT * FROM authors

      WHERE au_fname=@firstname AND au_Iname=@lastname

      2 設(shè)計(jì)思路及分析

      2.1 存儲過程轉(zhuǎn)換設(shè)計(jì)

      存儲轉(zhuǎn)換的具體設(shè)計(jì)中轉(zhuǎn)換的前端部分較之程序設(shè)計(jì)語言編譯程序的前端不盡相同,其主要的意義是借助于對Transact-SQL存儲過程源程序的分析,從當(dāng)中獲得具體的語義,再轉(zhuǎn)而用中間結(jié)構(gòu)的形式來將其表達(dá)出來。后續(xù)部分則是依照中間結(jié)構(gòu)進(jìn)行目標(biāo)程序的編寫,并且目標(biāo)程序的應(yīng)與源程序之間使用同一語義。轉(zhuǎn)換之前為了方便獲取存儲過程的源程序,需在相關(guān)數(shù)據(jù)庫之中得到源數(shù)據(jù),以實(shí)現(xiàn)存儲過程源程序文本的最終獲取。實(shí)施轉(zhuǎn)換的前期我們要保證依托于源程序的數(shù)據(jù)庫對象已經(jīng)完成了自身向目標(biāo)數(shù)據(jù)庫的遷移。整體的存儲轉(zhuǎn)換是由一系列的功能模塊所構(gòu)成,功能模塊相互間的協(xié)作與聯(lián)系如圖l所示。

      2.2 詞法及語法分析

      在存儲轉(zhuǎn)換過程中的詞法分析又被稱之為掃描,其所實(shí)現(xiàn)的主要功能全部都可以被語法分析模塊進(jìn)行調(diào)用,同時(shí)也可作為多遍掃描的第l遍獨(dú)立運(yùn)行,詞法分析主要主要的功能是針對存儲過程源程序進(jìn)行解析。借助于對源程序中每一個(gè)字符的讀取,遵照相關(guān)規(guī)則表達(dá)式使它們組合成具有特殊意義的單詞,所組合成的單詞被稱為存儲過程源程序的最小有意義語言單位。源程序的最小有意義語言單位可以細(xì)分為標(biāo)志符和關(guān)鍵字、分隔符、常量、注釋等。

      源程序的語法分析也可以稱做是解析,其主要是按照Transact-SQL的上下文無關(guān)文法進(jìn)行相關(guān)語句的分析,在進(jìn)行分析的過程中還會在調(diào)用的基礎(chǔ)上形成中間結(jié)構(gòu)功能代碼,也就是進(jìn)行源程序分析的同時(shí)把所會用到的相關(guān)信息植入到中間結(jié)構(gòu)中來,與此同時(shí)將所生成的中間結(jié)構(gòu)發(fā)送給解釋模塊進(jìn)行解釋。存儲轉(zhuǎn)換過程自始至終都由語法分析進(jìn)行控制,可將這種轉(zhuǎn)換方法稱為語法制導(dǎo)轉(zhuǎn)換。

      3 結(jié)語

      通過對SQLServer2000到Oracle11G存儲過程轉(zhuǎn)換技術(shù)的測試發(fā)現(xiàn),其可自動進(jìn)行轉(zhuǎn)換占到整體部分的百分之九十,相信隨著相關(guān)轉(zhuǎn)換技術(shù)的不斷發(fā)展,在不久的將來勢必會實(shí)現(xiàn)兩者之間百分之百的自動轉(zhuǎn)換。

      參考文獻(xiàn)

      [1]徐峰,楊波,柳華霞.用JavaBaen實(shí)現(xiàn)對數(shù)據(jù)庫存儲過程的替代[J].濟(jì)南大學(xué)學(xué)報(bào),2004(l):61-62.

      [2]張金,段希永,陳卓寧.異種數(shù)據(jù)庫存儲過程轉(zhuǎn)換技術(shù)研究[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2004(12):43-44.

      猜你喜歡
      詞法文法專用
      詞法 名詞、代詞和冠詞
      體能測試專用鞋
      體能測試專用鞋
      體能測試專用鞋
      關(guān)于1940 年尼瑪抄寫的《托忒文文法》手抄本
      應(yīng)用于詞法分析器的算法分析優(yōu)化
      Similarity measurement method of high-dimensional data based on normalized net lattice subspace①
      愛它就給它專用的設(shè)備
      談對外漢語“詞法詞”教學(xué)
      A nearest neighbor search algorithm of high-dimensional data based on sequential NPsim matrix①
      静宁县| 大理市| 景德镇市| 桐乡市| 信阳市| 富宁县| 长白| 惠州市| 搜索| 建始县| 邯郸县| 长顺县| 仙桃市| 侯马市| 河东区| 阜康市| 全椒县| 利川市| 灯塔市| 芜湖县| 乌拉特中旗| 保康县| 锦屏县| 犍为县| 北京市| 疏附县| 苏尼特左旗| 赣榆县| 和田县| 铁岭县| 蓝田县| 林周县| 藁城市| 罗田县| 温泉县| 遂溪县| 赤壁市| 故城县| 南丹县| 简阳市| 阿坝|