【发布时间】:2013-12-19 22:07:19
【问题描述】:
我可以在 SQL Developer 3.1.07 中对视图运行查询,它会返回我期望的结果。我在墨西哥的同事使用同一个用户,可以连接到同一个数据库,查看相同的视图,运行相同的查询并且没有得到任何结果,即使是简单的“从 VIEWNAME 中选择 *”查询也是如此。列标题显示,但没有数据。如果他从连接窗口中选择一个视图并选择数据选项卡,则不会显示任何数据。此用户无权访问此特定数据库上的任何表。
我不确定他是否在运行相同版本的 Developer,但也相距不远。我在 SQL Developer 中检查了许多我认为可能是问题的设置,但我认为他的设置与我的设置没有显着差异。
连接到另一个数据库允许他访问表和视图中的数据
对我们缺少什么有什么想法吗?
【问题讨论】:
-
以同一用户身份连接?只是为了消除明显的,因为你没有提到它。不同的用户拥有自己的表副本似乎是可能的,因此需要排除。这当然使它们不是“相同”的表,但仍然......
-
当然,谢谢 Alex,是的,我们都使用相同的用户信息访问数据库。
-
“Sql Array Fetch Size”的值为 100。列元数据确实显示。将查询作为脚本运行会返回“未选择行”。实际上它们是视图而不是表(我们都无法访问这个特定数据库中的任何表。我确实从他的机器连接到不同的数据库,并且能够从对表和视图的查询中获得结果。原始问题已被编辑有了这些信息
-
那真是个笨蛋。它似乎不是客户端设置,除非它在连接设置中,如果只有一个 DB 受到影响。 t 猜测视图可能使用
sys_context过滤为一种基于操作系统用户或 IP 的 VPD,但这听起来不太可能。我想不出任何原因,同一数据库上的同一 Oracle 用户会根据客户端具有不同的数据可见性。有趣。