如何在Oracle SQL Developer中查询数据库名称?

37
如何在Oracle SQL Developer中查询数据库名称?我已经尝试了以下方法,但它们都失败了: SELECT DB_NAME(); SELECT DATABASE(); 为什么这些基本的MySQL查询在SQL Developer中失败了?即使这个也失败了: show tables; 编辑:我可以连接到数据库并运行查询,例如: select * from table_name_here; 编辑2:数据库类型是Oracle,这就是为什么MySQL查询失败的原因。我以为这与数据库客户端有关而不是数据库本身。我错了,我会保留这个问题供其他人参考。

2
每个人都有自己的基本SQL扩展,mysql也不例外。 - Marc B
我越来越意识到这一点了!这是使用Oracle数据库。我不确定是否有另一个名称。 - Xonatron
6
一旦我意识到自己正在运行Oracle数据库而不是MySQL,我就解决了问题:使用select * from v$database;select ora_database_name from dual;命令。 - Xonatron
如果你要扣分,请说明原因。这是一个完全合理的问题,因为我在提问时不知道答案,而这里的讨论引导我找到了答案。 - Xonatron
1
@MatthewDoucette:甚至不知道你连接的是哪个关系型数据库,可能会让人们浪费时间试图解决你的问题。我可以理解为什么人们会对此持消极态度。正如你所说,一旦意识到你正在与Oracle服务器交流,找到问题的答案就是一个微不足道的搜索。 - Mat
@Mat,谢谢。我在编辑问题时加入了这些信息,然后就遭到了负评。所以我猜他们太急于行动,而我不确定应该如何(或是否应该)重构问题。但是感谢您的解释。我理解他们的观点。 - Xonatron
7个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
69

当我意识到我正在运行Oracle数据库而不是MySQL时,我找到了答案。

select * from v$database;

或者

select ora_database_name from dual;

尝试两个命令。来源和出处见:http://www.perlmonks.org/?node_id=520376


3
注意:显然这些内容的安全权限不同。在我的情况下,从双重选择 ora_database_name 是有效的,而另一个会出现无效表错误。 - Jeff

20

试试这个:

select * from global_name;

这允许通过dblink查询: select global_name from global_name@dblink_identifier - davitof

8
您可以使用以下命令来仅显示数据库名称而不显示额外列。
select name  from v$database;
如果您需要关于数据库的其他信息,请先了解可用的列名,使用以下命令:
describe v$database;

选择您想要查看的列;


2
我知道这是一个旧的线程,但你也可以从V$INSTANCE视图中获取一些有用的信息。 V$DATABASE显示控制文件中的信息,而V$INSTANCE视图显示当前实例的状态。

0

查看数据库名称,启动;

然后输入 show parameter db_name;


0

描述数据库名称;您需要指定数据库的名称,结果将包括每个属性的数据类型。


0

编辑:糟糕,回答之前没有检查你的问题标签。

检查一下是否可以连接到数据库(已经放置了驱动程序吗?在创建连接时测试了连接吗?)。

如果可以,请尝试使用 F5 运行这些查询。


我可以连接到它并运行查询,已经这样做了几个月。刚在问题中添加了这一点。 - Xonatron
1
当我意识到我正在运行Oracle数据库时,答案是:'select * from v$database;' 和/或 'select ora_database_name from dual;' - Xonatron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,