Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle11g 无法选择数据库视图_Oracle11g - Fatal编程技术网

Oracle11g 无法选择数据库视图

Oracle11g 无法选择数据库视图,oracle11g,Oracle11g,在Oracle中,我有以下场景,但面临授权问题 模式A: 有三张桌子:TA1,TA2,TA3 模式B: 在连接表TA1、TA2和TA3时具有DB视图“VB” 用户C: 在VB上有SELECT grant 问题: 在视图“VB”上向C提供了选择授权,但无法从“C”访问该授权。 我还尝试将TA1、TA2和TA3上的SELECT访问权限授予C,但没有成功 请给出建议。您需要使用和grant选项进行授予 作为schema\u a,授予对基础表的访问权限,并选择将该权限授予另一个架构 GRANT sele

在Oracle中,我有以下场景,但面临授权问题

模式A: 有三张桌子:TA1,TA2,TA3

模式B: 在连接表TA1、TA2和TA3时具有DB视图“VB”

用户C: 在VB上有SELECT grant

问题: 在视图“VB”上向C提供了选择授权,但无法从“C”访问该授权。 我还尝试将TA1、TA2和TA3上的SELECT访问权限授予C,但没有成功


请给出建议。

您需要使用
和grant
选项进行授予

作为
schema\u a
,授予对基础表的访问权限,并选择将该权限授予另一个架构

GRANT select ON ta1 TO schema_b WITH GRANT OPTION;
GRANT select ON ta2 TO schema_b WITH GRANT OPTION;
GRANT select ON ta3 TO schema_b WITH GRANT OPTION;
作为
schema_b
,您现在可以使用这些表将视图上的select授予
schema_c

GRANT select ON vb TO schema_c;
作为
schema_c
,您可以从vb中选择,但不能直接从基础表中选择

SELECT * from schema_b.vb;
无需将表上的select直接授予
schema\u c

GRANT select ON vb TO schema_c;