2016-03-15 59 views
0

我正在使用oracle SQL Developer將我們的SQL Server生產數據庫遷移到oracle,我修正了許多問題(oracle 30 charachters objects name limit ...)但仍然遇到問題這個: 當我在我的SQL Server數據庫中遷移一個名爲transaction的對象時,我在我的oracle數據庫中得到了TRANSACTION(我使用實體框架作爲ORM,因此我的代碼區分大小寫,我無法更改它) 我需要知道如果有在線遷移時保留我的對象名稱(表,列,SP,約束...)的方法。 感謝您的幫助。SQL Server到oracle遷移:如何保持區分大小寫

+0

考慮這個重新:大寫(和雙引號):http://stackoverflow.com/questions/13346273/force-identifier-case-sensitivity-in-oracle – Marc

+0

你必須解釋你是如何精確的執行遷移。通常情況下,您需要引用標識符以防止Oracle將其轉換爲大寫:'create table「transactions」...','select * from「transactions」...' – mustaccio

+0

感謝您的反饋..我' m使用SQL開發人員在線遷移我無法更改生成的腳本(這是可能的使用離線方法),所以我不能添加引號..以及我認爲我必須做手動重命名所有對象小寫或使用腳本比較名稱在與oracle的sql服務器和重命名他們 –

回答

1

您可以雙引號的名稱,這將保持區分大小寫。在Oracle內部工作時不推薦使用這種方式,因爲只有雙引號才能起作用。

你想

select "myschema"."mytable"."mycolumn" from "mytable" 

Create table "mytable"因爲什麼......

,如果你使用SQL開發

select * from "mytable"作品時這樣做,那麼......

select * from mytable不被認可。

+0

我的問題是在我的代碼中(** Repositories **)我從存儲庫調用EDMX實體,所以當我調用context.transaction它不同於context.transaction –