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

2021-03-31 08:56:29 字數 2201 閱讀 9889

為了

oracle

版本和sqlserver

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

兩個版本的業務邏輯層都放在

source

目錄下。在該目錄下有兩個目錄:

sql

和ora

。這兩個目錄有三個檔案:

***mon.pbl,water_modi.pbl,dw_version.pbl。

這三個檔案裡面絕大部分是資料視窗,主要是因為

sql server

和oracle

的語法有差別。如果只是因為資料視窗有雙引號在

sql server

裡不能用,那麼把資料視窗的

select

語法的字段引號去掉即可,因為沒有引號的

select

語句在sql server

和oracle

下面都是可用的。修改的過程中注意

update

屬性。

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

每台機器上建立下面的磁碟對映: p

指向//oraservr/p237

v指向

//oraservr/sql237

或者是//oraserver/ora237

源**在

//oraserver/code/water237/source

裡面。

p盤是肯定要有的,

v盤由使用什麼版本決定。

業務層的修改盡可能的在源**處,因為這樣修改能讓兩個版本同時修改。 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,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

查詢分析器裡生成之。

Albert zh轉化為pytorch版本

背景 由於google提供bert base zh的引數太多,模型大太,大約400m,無論是使用bert進行fine tuning或者是對bert進行再訓練的訓練成本會變大。所以就對bert進行了一些優化。主要從以下幾個點對bert進行了優化 詞嵌入向量的因式分解 o v h o v e e h o...

oracle欄位從varchar2轉化為clob

在專案中遇到原來的varchar2型別長度不夠了,僅為4000.需要修改為clob,但因該字段已有大量資料。從網上找了很多資料,介紹很模糊,研究一番,在此貼出供迷途的戰士參考。首先給原來varchar2型別的字段result改名為result1.alter table opcontent renam...

Oracle 自定義進製轉化為10進製

1.建立functioncreate or replace function to aztdec p str in varchar2,p from base in number default 26 return number 和進製數保持一致 isl num number default 0 l ...