2012-06-28 55 views
1

我有兩個相同的查詢(但查看不同的表),使用實體框架,調用Oracle數據庫,一個將能夠找到表,但另一個不會。Oracle查詢如何找到表,當它可以到達其他具有相同所有權的表時?

using(CarContainer Cars = new CarContainer()) { 
    var carModel = from c in temp.Cars.OfType<BMW>() orderby c.ID select c.MODEL; 
} 



using(CarContainer Cars = new CarContainer()) { 
    var carModel = from c in temp.Cars.OfType<BENTLEY>() orderby c.ID select c.MODEL; 
} 

當我運行第二個查詢,它給了我「Oracle.DataAccess.Client.OracleException:ORA-00942:表或視圖不存在」

我打開了SQL Plus中,使用相同的憑據,並做了select * from BENTLEY,它給了我表格。

+2

您正在使用嫉妒的德國數據訪問提供程序? –

+0

如果只是這麼簡單! –

+0

通過'SELECT * FROM SYS.DBA_TAB_PRIVS p WHERE p.TABLE_NAME'('BMW','BENTLEY')order by p.TABLE_NAME'比較這兩個表上的授予,看看是否有差異。發放所需的贈款,以使BENTLEY的特權符合BMW的特權。 –

回答

2

當我使用我的grants.sql文件時,其中一個授權命令未成功傳遞到Oracle數據庫。

我加入了GRANT ALL ON CHOWNER.BENTLEY TO ADMINROLE;,它又重新開始了!

相關問題