2012-04-01 40 views
0

我使用SSIS訪問oracle數據庫時,我在Oracle的一個模式上爲用戶授予權限,我看到了所有表和模式。當我使用SQL Plus時,只顯示一個模式。SSIS打破Oracle權限

這裏有什麼問題?

回答

1

您在SQL * Plus中運行了哪些查詢以查看錶?如果您要查詢USER_TABLES,則只能看到當前用戶擁有的表格。如果您查詢ALL_TABLES,您將看到您有權查詢的所有表,無論所有者如何。如果您要查詢DBA_TABLES,你會看到所有的數據庫中的表(雖然你需要額外的權限查詢DBA%對象。

還有就是進入這個更詳細的how to get a list of all the tables in a database另一個問題。

+0

我使用USER_TABLES,對不起,我不明白最後一個問題,當我在SSIS中使用「Oracle Provider OLEDB」訪問oracle數據庫時,我看到了數據庫中的所有表,視圖和所有模式 – 2012-04-03 16:21:28

+0

@HossamAhmed - 如果查詢USER_TABLES,你只能看到當前用戶擁有的表,如果你想查看錶以外的對象,你需要查詢其他數據字典視圖 - 例如,USER_VIEWS顯示當前用戶擁有的視圖。你想要 看到你有權訪問但沒有的對象,你需要查詢'ALL_TABLES','ALL_VIEWS'等。這是大多數GUI工具查詢的內容。 – 2012-04-03 16:24:15