当前位置: 首页 > 知识库问答 >
问题:

Oracle-授予在另一个架构中使用一个架构的表的访问权限

吉和同
2023-03-14

我在模式A中有表。我在模式B中的包中为模式A中的表中的查询数据创建了过程,如下所示:

PROCEDURE GET_DATAFROM_A (....)
AS BEGIN 
execute immediate ' GRANT SELECT ON '||A||'.'||tblname||' TO B';
open PO_Cursor for 'select * from '||A||'.'||tblname;

但当我执行这个过程时,它显示

ORA-00942:表或视图不存在

我有什么问题吗?

共有1个答案

农存
2023-03-14

如果您是以模式B进行连接,则不能只说“授予自己对模式A中的表的访问权”

你得到的是ORA-00942,因为现在你还没有在桌子上的特权,所以赠款说“我甚至不知道你在说什么桌子。”

但即使SchemaB可以看到该表,Oracle也会通知您:

ORA-01749: you may not GRANT/REVOKE privileges to/from yourself

您将需要另一个用户(如模式A)将表上的必要特权授予模式B。

 类似资料:
  • 问题内容: 我想执行一个查询,该查询从与数据库连接中指定的模式不同的模式中选择数据(相同的Oracle服务器,相同的数据库,不同的模式) 我有一个与Oracle服务器通信的python应用程序。它打开与数据库(服务器/架构)A的连接,并对数据库中的表执行选择查询。 我尝试了以下方法: 但我得到: 我还尝试用括号将模式名称括起来: 我得到: 使用Django应用程序内部的cx_Oracle pyth

  • 当我设计炫耀的API服务模型时,我正在研究巨大的yaml模式,并强调了文本。我想将部分保存在另一个文件中,以便具有更大的灵活性和可读性。 在本文档之后,我使用了这部分代码: 在我的文件中,我有这样的东西: 它可以在本地主机上运行,但是我在企业部署服务器上运行我的文件时遇到了以下问题: 组件中的错误解析程序错误.架构.请求.属性.技术数据.$ref 无法解析引用,原因如下: 不可接受 我成功地能够在

  • 我试图使用Flyway来版本模块化应用程序的数据库。每个模块都有自己独立的表集和迁移脚本,这些脚本将控制该表集的版本控制。 Flyway允许我为每个模块指定不同的元数据表——这样我就可以独立地版本每个模块。当我尝试升级应用程序时,我为每个模块运行一个迁移过程,每个模块都有自己的表和一组脚本。请注意,这些表都在同一个架构中。 但是,当我尝试迁移我的应用程序时,第一次迁移是唯一有效的。后续迁移失败,出

  • 问题内容: 我想在SQL Server 2008中将用户限制为只有一个架构,并且只能在该架构中选择“选择”特权。 问题答案: DENY和GRANT的组合。例如:

  • 我正在使用AWS-CDK为应用程序构建基础设施。 我有一个构建多个S3存储桶的构造和另一个创建lambda函数从这些存储桶获取数据的构造。 为了能够给我的lambda权限从桶中获取数据,我需要桶ARN。 有没有一种方法,我可以从生产桶的结构导出桶arn,并将其导入lambda结构?

  • 这是一个由两部分组成的问题。我已经在Windows Server 2008 VM上安装了Oracle 11g个人版服务器。在安装过程中,我选择了安装数据库的选项(示例/空白数据库?)。 现在,在虚拟机上,我可以在本地主机端口1158启动Oracle Enterprise Manager控制台,以SYSMAN或SYSTEM的身份登录,我可以看到:“数据库实例”:orcl.127.55.199。在运行