ODAC-在Entity Framework加入其他Schema的Table

得知Oracle推出正式版Entity Framework元件後,ODP.NET及System.Data.OracleClient就被我打入冷宮,專案需要存取Oracle時幾乎都改用EF處理。

今天遇到新狀況: 有個Oracle資料庫提供了讀取權限的專屬帳號(例如: NRMQRY),實際的資料表在另一個GB Schema中,但有GRANT SELECT權限。在專案新增了ADO.NET Entity Data Model、指定Oracle伺服器名稱、用NRMQRY帳號建好連線(步驟參考),正準備要將資料表加入.edmx時,當場傻眼!

Tables及Views空空如也,什麼也都沒得選。很快想到是因為真正的資料表在GB Schema下,NRMQRY帳號只用來讀資料,本身沒有任何Table及View,所以眼前的任務是要讓NRMQRY可以看到/選到GB下的Table。爬文後學到連線屬性設定有個Filter頁籤,可以指定要顯示哪些Schema所屬性的Table、View... 等等。

加入GB後,在Server Explorer果然可以看到GB Schema的Table了! 高高興興想將GB的Table加進Model... 登楞!! 沒想到Tables及Views依然還是沒有半點東西 orz

再上網爬文,找到有幾個網友在Oracle論壇反應過類似問題(在Server Explorer看得到,但Entity Data Designer沒出現),並推測是11.2.0.3的Issue,目前似乎無解。

最後,我採用的解法是借到另一台Oracle測試環境的GB帳號,連線測試DB建好Model後,再修改連線字串改連原本要連的DB。

歡迎推文分享:
Published 03 July 2012 07:35 PM 由 Jeffrey
Filed under: ,
Views: 7,100



意見

# JerryH said on 26 July, 2012 08:31 PM

我使用上OK

在Model Browser Update Model from DataBase

在Table 可以看到別的Schema的Table

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<July 2012>
SunMonTueWedThuFriSat
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication