2013-10-03 85 views
0

好的,我有一個小問題... 在我的項目中,我們有一個Oracle SQL Server。在數據庫中,我有機會獲得一些的其他用戶表:同步數據庫中的Oracle數據庫用戶

Tables: 
    |-bla 
    |-bla 
Users: 
    |-otherUser (let's just call him that) 
     |-Tables: 
      |-aTable 

在Oracle中,訪問aTable表我用SELECT * FROM otherUser.aTable

現在,我們也有一個MS SQL CE數據庫,而我同步來自OracleDB的數據使用MS Sync f/w。而在CE數據庫 - 同步後 - 我得到一個表otherUser.aTable。這聽起來不錯,所以即使CE沒有用戶概念,它只是添加了相同的表格。

但問題是,當在CE上調用與Oracle上相同的SQL查詢時,我得到一個表名無效錯誤。相反,如果我想獲取表格的內容,我發現可以使用的兩種方式是使用[]或「」圍繞otherUser.aTable

但是他們都沒有與Oracle合作。 []似乎是一個非法的名字,而且「」似乎在搜索一個叫做那個(不是其他用戶)的表。

那麼,爲什麼我不使用Oracle和CE上的其他方法呢?以及我也使用NHibernate作爲一個ORM,它需要兩個數據庫相同的表名...

是否有第三種方法來封裝與Oracle中的用戶一起工作的表名稱,只是在CE中工作?或者您有其他方法可以解決這個問題嗎?

回答

0

我沒有使用MS SQL的經驗,但它似乎是一個問題,可能在Oracle端用同義詞解決。 嘗試在Oracle中爲otherUser.aTable創建同義詞「otherUser.aTable」。