45

我在与 SQL 开发人员链接的数据库的表部分中看不到任何表。数据库管理员说我需要更改 SQL 开发人员中的默认架构。我怎么做?

在此处输入图像描述

4

10 回答 10

87
alter session set current_schema = otheruser; 

应该做的伎俩。

于 2013-11-01T16:29:17.987 回答
20

只需右键单击创建的连接并选择“架构浏览器”,然后使用过滤器显示所需的连接。

干杯。

于 2015-05-12T14:34:13.933 回答
13

我不知道在 SQL Developer 中有什么方法可以做到这一点。在“其他用户”->“< Schemaname >”中查看时,您可以看到所有其他模式及其对象(如果您有正确的权限)。

在您的情况下,要么使用上述方法,要么为您想要工作的架构创建一个新连接,或者为您希望访问的所有表创建同义词。

如果您将在 SQL*Plus 中工作,那么发布ALTER SESSION SET CURRENT_SCHEMA=MY_NAME将设置您当前的模式(这可能是您的 DBA 的意思)。

于 2013-07-01T17:49:55.797 回答
10

这不会改变 Oracle Sql Developer 中的默认模式,但我想指出,快速查看另一个用户模式很容易,右键单击数据库连接:

在此处输入图像描述

选择用户以查看该用户的架构

在此处输入图像描述

于 2017-04-26T19:05:53.417 回答
5

或者,只需选择当前模式左侧底部显示的元素之一“其他用户”。

从可用列表中选择您想要的架构。

在此处输入图像描述

于 2019-04-09T07:06:42.580 回答
4

我知道这是旧的,但...

我找到了这个:

http://javaforge.com/project/schemasel

从描述中可以看出,在您安装插件后,如果您在逻辑连接名称后面加上方括号中的架构,则默认情况下它应该连接到架构。

它会,但对象浏览器不会。

那好吧。

于 2013-12-04T07:10:50.707 回答
3

在 ORACLE 中创建新用户时,也会自动创建一个空的表和视图工作区。该工作区域称为“架构”。由于用户和模式之间的紧密耦合关系,这些术语经常被用作同义词。默认情况下,SQL Developer 将显示属于您连接的用户的空模式,如果它确实是空的。

但是,如果您单击展开标题为“其他用户”的树部分,您将看到您的用户有权访问的其他用户/模式。如果您选择正确的用户/模式,您可以在那里找到您正在寻找的表和视图。一个对象只存在于拥有它的模式中。

尽管如此,如果应用程序允许我们选择更靠近树根的所需模式,而不是强迫我们去搜索它,那就太好了。其他答案提供了解决方法,例如:

  1. 以所需的用户/模式登录开始。
  2. 使用不同的工具。
  3. 忽略树并执行:alter session set current_schema = otheruser;
  4. 每次加载应用程序时创建一个启动脚本来设置架构。

最后,我搜索并找到了另一个免费工具,它似乎可以解决这个特殊的可用性问题,称为DBeaver

这有点令人困惑,因为模式这个词被重载了。Schema 还可用于描述应用程序的数据库。为了更清楚,请阅读更多有关 ORACLE 上下文中使用的术语模式的信息。

于 2016-12-01T23:11:02.307 回答
2

如果您以 scott 身份登录,但希望查看 HR 模式的表,则需要更改会话“alter session set current_schema=HR;”

如果你一直这样做,那么你可以创建一个名为 login.sql 的启动脚本,其中包含上述命令,然后告诉 SQL Developer 在启动时通过 Tool/Preferences/Database 运行它

于 2015-10-30T02:42:21.177 回答
1

只需创建一个新连接(点击绿色加号)并输入您的 DBA 建议的新默认模式的模式名称和密码。您可以使用窗口右上角的下拉菜单在旧模式和新模式之间切换。

于 2013-07-01T17:55:05.137 回答
0

将权限授予指定用户后,您必须在过滤时执行此操作:

第一步:

更改默认表格的第一步

第二步:

第二步更改默认表

现在,您将能够在将默认加载 Alter 会话更改为所需模式后显示表(在 LOG ON 后使用触发器)。

于 2017-11-14T15:05:13.430 回答