久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

SQLServer2005如何移植到Oracle10g

共計(jì) 2500 個(gè)字符,預(yù)計(jì)需要花費(fèi) 7 分鐘才能閱讀完成。

這篇文章主要介紹“SQLServer2005 如何移植到 Oracle10g”,在日常操作中,相信很多人在 SQLServer2005 如何移植到 Oracle10g 問(wèn)題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”SQLServer2005 如何移植到 Oracle10g”的疑惑有所幫助!接下來(lái),請(qǐng)跟著丸趣 TV 小編一起來(lái)學(xué)習(xí)吧!

由于目前 OMWB 僅支持 SQLServer2000,根據(jù)官方網(wǎng)站的消息,OMWB 的下一版會(huì)推出對(duì) SQLServer 2005 的支持,所以在目前的情況下只能先把庫(kù)從 SQLServer 2005 移植到 SQLServer 2000,這就是我們移植過(guò)程的第一步了。

SQLServer2005 怎樣移植到 Oracle10g

一、SQLServer 2005– SQLServer 2000

一直以來(lái),版本要降級(jí)都是很困難的,因?yàn)樵谛掳姹局斜厝粫?huì)有些新的特性,而如果剛好湊巧你使用到了這些特性的話,在降級(jí)到低版本時(shí)就會(huì)碰到一些問(wèn)題,在經(jīng)過(guò)幾次的嘗試后,總結(jié)而言,這個(gè)過(guò)程還是比較容易做的,畢竟是同樣的數(shù)據(jù)庫(kù),再怎么樣也不會(huì)出太大的問(wèn)題,不過(guò)也沒(méi)有像將庫(kù)從 SQLServer 2000 升級(jí)為 SQLServer 2005 那么簡(jiǎn)單,整個(gè)移植過(guò)程這么進(jìn)行:

1、基于 SQLServer 2005 的數(shù)據(jù)導(dǎo)出將表結(jié)構(gòu)和數(shù)據(jù)導(dǎo)入到 SQLServer 2000;

這步中需要注意的是默認(rèn)情況下 SQLServer 會(huì)將表和視圖一起導(dǎo)入,在這里不要選擇視圖,否則導(dǎo)入到 SQLServer 2000 后有些視圖會(huì)變成表,選擇需要導(dǎo)入的表后基本上這步不會(huì)出現(xiàn)什么問(wèn)題,可以完成表結(jié)構(gòu)和數(shù)據(jù)的移植。

2、基于 SQLServer 2005 的生成腳本將視圖 / 函數(shù) / 存儲(chǔ)過(guò)程移植到 SQLServer 2000;

這步需要慢慢來(lái),因?yàn)樵谝晥D / 函數(shù) / 存儲(chǔ)過(guò)程中你可能使用到了一些 SQLServer 2005 的新特性,如果碰到這樣的情況,只能是手工進(jìn)行修改,以使它完全符合 SQLServer 2000 的要求,盡管在生成腳本時(shí)你可以選擇生成的目標(biāo)版本為 SQLServer 2000,但還是會(huì)有部分腳本執(zhí)行是會(huì)出錯(cuò)的。

在完成了 SQLServer 2005 到 SQLServer 2000 的移植后,就可以基于 OMWB 來(lái)把庫(kù)從 SQLServer 2000 移植到 Oracle 了,這步盡管有工具,還是會(huì)比較的麻煩,總結(jié)如下:

二、SQLServer 2000– Oracle 10g

關(guān)于如何基于 OMWB 將庫(kù)從 SQLServer 2000 移植到 Oracle 10g 的操作步驟可參見(jiàn)此篇文檔:

大家現(xiàn)在從 oracle 官方站下的話可能會(huì)找不到 sqlserver 2000 的插件包,如果找不到的話可以從這里下載:

我在這里要總結(jié)的是基于 OMWB 將庫(kù)從 SQLServer 2000 移植到 Oracle 10g 后還需要手工做的一些事情,不要指望 OMWB 能無(wú)縫的幫你把庫(kù)從 SQLServer 移植到 Oracle 中,銀彈是不存在的,因此我們需要做些手工的工作完成庫(kù)的移植:

SQLServer2005 怎樣移植到 Oracle10g

1、移植表結(jié)構(gòu)和數(shù)據(jù)可能會(huì)出現(xiàn)的問(wèn)題;

表中字段的默認(rèn)值 / 主鍵 / 外鍵 / 索引移植不過(guò)去,這些需要手工的進(jìn)行補(bǔ)充;

2、移植視圖可能會(huì)出現(xiàn)的問(wèn)題;

移植過(guò)去的視圖可能會(huì)出現(xiàn)各種語(yǔ)法錯(cuò)誤的問(wèn)題,這需要手工的修正,一般來(lái)說(shuō)都是較為簡(jiǎn)單的錯(cuò)誤;

另外一種問(wèn)題就是有些視圖可能會(huì)無(wú)法移植過(guò)去,這些視圖就只能在對(duì)比 OMWB 的移植報(bào)告后找出來(lái)手工的進(jìn)行移植了。

3、移植函數(shù) / 存儲(chǔ)過(guò)程可能會(huì)出現(xiàn)的問(wèn)題;

移植過(guò)去的函數(shù) / 存儲(chǔ)過(guò)程中可能仍然會(huì)有不少的語(yǔ)法問(wèn)題,例如像 SCOPE_IDENTITY()、REPLICATE、newid() 這些 OMWB 不知道該怎么處理的函數(shù),還有像返回 Table 類型的這種函數(shù),這些都只能在移植后手工的來(lái)進(jìn)行糾正,關(guān)于函數(shù)不同造成的語(yǔ)法錯(cuò)誤的現(xiàn)象大家可以參看這篇文檔來(lái)做 SQLServer 和 Oracle 函數(shù)的對(duì)照:

移植過(guò)去的函數(shù) / 存儲(chǔ)過(guò)程可能編譯是沒(méi)有問(wèn)題,也就是 Oracle 認(rèn)為沒(méi)有語(yǔ)法問(wèn)題,但執(zhí)行起來(lái)卻會(huì)報(bào)錯(cuò),像字符串相加,經(jīng)過(guò) OMWB 移植后有些字符串相加會(huì)替換成 ||,但是有些會(huì)遺漏,這個(gè)時(shí)候也只能手工來(lái)糾正這些錯(cuò)誤了;

移植過(guò)去的函數(shù) / 存儲(chǔ)過(guò)程在執(zhí)行過(guò)程中可能會(huì)出現(xiàn)某些表的主鍵值不能為空的現(xiàn)象,造成這種現(xiàn)象的原因多數(shù)為在 SQLServer 中該字段的默認(rèn)值定義的為 IDENTITY,但在 Oracle 中沒(méi)法賦予這樣的默認(rèn)值,只能在插入的 sql 語(yǔ)句中加上對(duì)于主鍵字段的賦值,可采用 sequence 的方式來(lái)生成順序號(hào);

移植過(guò)去的函數(shù) / 存儲(chǔ)過(guò)程中如果其中的查詢語(yǔ)句是采用字符串的方式,然后動(dòng)態(tài)執(zhí)行的話,這個(gè)時(shí)候的查詢語(yǔ)句就得手工修改為符合 oracle 的語(yǔ)法了,因?yàn)?OMWB 在移植時(shí)是不會(huì)對(duì)字符串形式的查詢語(yǔ)句來(lái)做處理的;

部分函數(shù) / 存儲(chǔ)過(guò)程會(huì)由于 OMWB 確實(shí)無(wú)法處理,造成移植不到 oracle,這個(gè)時(shí)候也必須參照 OMWB 的移植報(bào)告找出這些函數(shù) / 存儲(chǔ)過(guò)程來(lái)手工移植了。

整個(gè)移植過(guò)程可能會(huì)碰到比上面所列出的更多的別的問(wèn)題,可以看出整個(gè)移植過(guò)程確實(shí)需要耗費(fèi)不小的工作量,但總體而言,完成的難度并不高。

其實(shí)真的是這樣嗎? 當(dāng)然不是,就算你完成了上面的移植工作,那也只能說(shuō)表面看上去移植是完成了,很有可能會(huì)出現(xiàn)這個(gè)存儲(chǔ)過(guò)程語(yǔ)法等等都沒(méi)有問(wèn)題了,但執(zhí)行的效果和 SQLServer 就是不一樣,這是為什么呢? 可能會(huì)是因?yàn)?Oracle 和 SQLServer 在并發(fā)控制、事務(wù)機(jī)制上是不同的,而這會(huì)影響到程序調(diào)用時(shí)的 sql 的編寫、存儲(chǔ)過(guò)程的編寫等等,也就是說(shuō),在上面的移植過(guò)程的工作完成后,還得仔細(xì)檢查現(xiàn)在的 sql 語(yǔ)句 / 函數(shù) / 存儲(chǔ)過(guò)程是否根據(jù) Oracle 的機(jī)制達(dá)到了原來(lái)在 SQLServer 中期望的效果,只有做到這步的效果是一樣的,才可以說(shuō)移植過(guò)程完成了。

到此,關(guān)于“SQLServer2005 如何移植到 Oracle10g”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注丸趣 TV 網(wǎng)站,丸趣 TV 小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-18發(fā)表,共計(jì)2500字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 康马县| 霍邱县| 甘洛县| 宾阳县| 石阡县| 陇西县| 海兴县| 碌曲县| 招远市| 庆阳市| 保德县| 会东县| 观塘区| 齐齐哈尔市| 如皋市| 南川市| 正定县| 余姚市| 华宁县| 黄骅市| 依安县| 淮南市| 思南县| 攀枝花市| 凌源市| 临安市| 房产| 阿瓦提县| 台东市| 合山市| 独山县| 遂溪县| 自治县| 兴宁市| 伊金霍洛旗| 浠水县| 喀喇| 惠安县| 马公市| 连城县| 巧家县|