【问题标题】:query multiple database connections with sql developer使用 sql developer 查询多个数据库连接
【发布时间】:2012-12-04 11:51:15
【问题描述】:

我在 ORACLE SQL DEVELOPER 连接中有 2 个数据库,con1 和 con2(具有不同的架构)

我需要创建一个视图,基于两个 db 的列,方法:

Create VIEW testviewAS (SELECT col1, col2, col3 FROM con1.table1);
ALTER VIEW AS (SELECT col1, col2, col3 FROM con2.table2);

它不起作用。

【问题讨论】:

  • 创建视图与 SQL 开发人员中的连接无关。在一个具有足够权限的会话中连接,并且架构限定了表名。
  • 你的意思是我不能创建那个视图?
  • con1.table1 是什么意思?你的架构叫con1吗?
  • 是的,在SQL Developer中称为它的连接
  • 那么我建议您将其称为其他名称 — 阅读有关模式的 Oracle 概念指南可能会使这里的事情更清楚:docs.oracle.com/cd/E11882_01/server.112/e25789/…

标签: sql oracle plsql database-schema oracle-sqldeveloper


【解决方案1】:

您是否打算合并不同架构上的两个表?

Create VIEW testviewAS (
    SELECT t1.col1, t1.col2, t1.col3, t2.col1, t2.col2, t2.col3 FROM con1.table1 t1, con2.table2 t2 where t1.col1 = t2.col1
);

【讨论】:

  • 我的意思是按一列连接表格
【解决方案2】:

找到这个解决方案

在第二个连接工作表中,我将 table2 上的授权访问到连接 1 一个

GRANT SELECT on table2 to Connection1

然后我创建视图(在 1sr 连接工作表上):

Create VIEW testview AS (SELECT col1, col2, col3 FROM con1.table1);
ALTER VIEW AS (SELECT col1, col2, col3 FROM con2.table2);

【讨论】:

  • 但在此解决方案中,您的视图中只有来自 table2 的数据。
  • 是的,这正是我所需要的,您始终可以从 connection2 授予对其他表的选择权限
猜你喜欢
  • 2014-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-27
  • 2017-02-12
  • 1970-01-01
  • 1970-01-01
  • 2012-04-27
相关资源
最近更新 更多