用Sql Developer將SQL移植到Oracle(四)
本文我們介紹第四部分:SQL 中的架構(gòu)到Oracle中的模式,名稱的處理。
通過執(zhí)行數(shù)據(jù)移植向?qū)В绻麤]有錯誤的話,那么表結(jié)構(gòu)基本上都會建立起來了,在連接中打開orcl(migrations)連接,找到最下面的其它用戶,假設(shè)你的表都在dbo架構(gòu)下,那么找到dbo_源數(shù)據(jù)庫名,展開它,可以看到在表中已經(jīng)有原數(shù)據(jù)庫中的所有表。但是,為什么會顯示為dbo_源數(shù)據(jù)庫名呢?我很不喜歡這樣的用戶名。我希望它顯示為源數(shù)據(jù)庫名,要怎樣做呢?
在程序的左下角,是數(shù)據(jù)移植項目窗格,在里面可以看到我們剛才建立的數(shù)據(jù)移植項目名。展開它,會顯示我們執(zhí)行過向?qū)У娜掌诤蜁r間,繼續(xù)展開,可以看到兩個節(jié)點,叫作捕獲的數(shù)據(jù)庫對象和轉(zhuǎn)換的數(shù)據(jù)庫對象,如下圖:
在捕獲的數(shù)據(jù)庫對象上點擊右鍵,選擇轉(zhuǎn)換,再次打開數(shù)據(jù)移植向?qū)А|c擊下一步,會直接跳轉(zhuǎn)到轉(zhuǎn)換頁,這一次的轉(zhuǎn)換頁面與前一部分的轉(zhuǎn)換頁稍有不同。不同之處在于多出了一個選項卡,叫對象命名,選擇它打開,如下圖所示:
在這個頁面中,顯示了一個數(shù)據(jù)列表,列出了源數(shù)據(jù)庫的表名、字段名、約束名、視圖名、架構(gòu)名等等所有的標(biāo)識符的原始標(biāo)識符、新建標(biāo)識符、是否經(jīng)過轉(zhuǎn)換、原始限定名、標(biāo)識符類型等信息。因為Oracle中不支持30個字符以上的標(biāo)識符,所以當(dāng)碰到原始標(biāo)識符超過30個字符時,數(shù)據(jù)移植向?qū)詣訉⒅財啵绻兄孛瑒t會加上_1之類的后綴。
很明顯,在這里,它把我們原來的dbo架構(gòu)名轉(zhuǎn)換成了dbo_數(shù)據(jù)庫名,我們只要找到它,將新標(biāo)識符改為數(shù)據(jù)名,即可實現(xiàn)我們這部分的需求。
修改完成后,點擊下一步,接著按之前的設(shè)置完成整個向?qū)В瑢⑿薷奶峤坏劫Y料檔案庫中。注意,這次的向?qū)Р]有去幫我建立新用戶和表結(jié)構(gòu)等等,還需要進一步操作。
在主界面中的數(shù)據(jù)移植項目窗格,在轉(zhuǎn)換的數(shù)據(jù)庫對象上點擊右鍵,選擇生成目標(biāo),再次打開數(shù)據(jù)移植向?qū)В忠淮伟粗拔覀兊倪x擇完成整個向?qū)В@一次,才是真正建立了我們想要的用戶名。
然后,把自動生成的老用戶名和模式都刪除掉吧。具體操作就不細說啦。
原文出處:http://www.cnblogs.com/hiizsk/archive/2011/07/10/2102457.html。
【編輯推薦】