gpt4 book ai didi

sql - 从oracle中的另一个模式中选择数据

转载 作者:行者123 更新时间:2023-12-02 17:30:03 24 4
gpt4 key购买 nike

我想要执行一个查询,该查询从与数据库连接中指定的模式不同的模式中选择数据(相同的 Oracle 服务器、相同的数据库、不同的模式)

我有一个与 Oracle 服务器通信的 Python 应用程序。它打开与数据库(服务器/架构)A 的连接,并对该数据库内的表执行选择查询。

我尝试过以下方法:

select .... 
from pct.pi_int, pct.pi_ma, pct.pi_es
where ...

但我得到:

ORA-00942: table or view does not exist

我还尝试用方括号将架构名称括起来:

from [PCT].pi_int, [PCT].pi_ma, [PCAT].pi_es

我得到:

ORA-00903: invalid table name

这些查询是使用 Django 应用程序内部的 cx_Oracle python 模块执行的。

这可以完成还是我应该建立一个新的数据库连接?

最佳答案

您用于连接数据库的用户(本例中为用户 A)是否拥有 SELECT访问 PCT 中的对象架构?假设A如果没有此访问权限,您将收到“表或 View 不存在”错误。

很可能,您需要 DBA 授予用户 A访问 PCT 中的任何表您需要的架构。类似的东西

GRANT SELECT ON pct.pi_int
TO a;

完成后,您应该能够引用 PCT 中的对象。使用语法 pct.pi_int 的架构正如您最初在问题中所证明的那样。括号语法方法不起作用。

关于sql - 从oracle中的另一个模式中选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13709164/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com