系統從oracle版本轉化為sqlserver版本

來源:互聯網
上載者:User
oracle|server|sqlserver Waterxp 從oracle版本轉化為sqlserver版本
 
1,系統安排
 

       為了oracle版本和sqlserver版本能很方便的轉化,也為了兩個版本能同步修改,特別是商務邏輯層。現決定如下:

A,兩個版本的商務邏輯層都放在source目錄下。在該目錄下有兩個目錄:

sql 和ora。這兩個目錄有三個檔案:

common.pbl  ,water_modi.pbl,dw_version.pbl。

這三個 檔案裡面絕大部分是資料視窗,主要是因為sql server 和oracle的文法有差別。如果只是因為資料視窗有雙引號在sql server裡不能用,那麼把資料視窗的select文法的欄位引號去掉即可,因為沒有引號的select語句在sql server和oracle下面都是可用的。修改的過程中注意update屬性。

B,不同的資料庫將使用不同的目錄。

 
2,系統內容的建立
       每台機器上建立下面的磁碟映射:

       P  指向  \\oraservr\p237

   V   指向  \\oraservr ql237  或者是 \\oraserver\ora237 

    原始碼在 \\oraserver\code\water237 ource 裡面。

    P盤是肯定要有的, V盤由使用什麼版本決定。
3,原始碼的修改
業務層的修改儘可能的在原始碼處,因為這樣修改能讓兩個版本同時修改。

P盤是類庫可以不需要修改。

V盤裡的資料視窗都需要改。

改sql237裡面的資料視窗,要修改和要注意的地方:

替換的方法

oracle裡面使用                      sql server 裡面使用

to_char(readingdate,’yyyymm’)      convert(char(6),readingdate,111)

to_char(readingdate,’yyyy/mm’)      convert(char(7),readingdate,112)

decode( ,  ,  ,  ,)               case when then end 或者 isnull(x,0)

左右串連 (+)                   left outer join

     修改過程中要注意資料視窗的update屬性。
4,工作計劃
   4,1先修改sql237目錄下的三個pbl裡面的資料視窗的文法。為了照顧資料視窗的update屬性,建議使用edit source的方法,而且select文法欄位的引號在sql server版本建議去掉。使用pb的replace功能即可。

   4,2 修改某些資料視窗的內嵌式sql 的文法。因為有一些內嵌式sql 也使用了decode() ,或者是to_char(),這些文法在sqlserver也是必須代替的。

修改方法:

if gs_database = ‘ORACLE’ then

 ………………decode()……………;

else

…………………case when then end ………..;

end if

4,3 最後的工作是測試。這是最繁瑣的最重要的。在測試的過程會發現有一些資料視窗在sql server不能用:修改方法是將欄位的引號去掉或者是移到sql 和ora目錄裡面的dw_version.pbl檔案裡面,在那裡進行修改。

4,4主要的資料表都已經遷移過來了,名字一樣,可能在sql server有一些表的欄位不夠那麼請重新匯入一次。主要的預存程序都已經翻譯過來,名字不一樣。在測試的過程會發現有一些視圖沒有存在,那麼請從oracle把文法拷貝出來,在sql server查詢分析器裡產生之。

 

 

 

 

 


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.