2012-04-01 76 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