如何在 Oracle SQL Developer 中查询数据库名称?
Posted
技术标签:
【中文标题】如何在 Oracle SQL Developer 中查询数据库名称?【英文标题】:How to Query Database Name in Oracle SQL Developer? 【发布时间】:2012-02-17 04:20:48 【问题描述】:我尝试了以下方法,但都失败了:
SELECT DB_NAME();
SELECT DATABASE();
为什么这些基本的 mysql 查询在 SQL Developer 中会失败?甚至这个也失败了:
show tables;
编辑:我可以连接到数据库并运行如下查询:
select * from table_name_here;
编辑 2: 数据库类型是 Oracle
,这就是 MySQL
查询失败的原因。我认为它与数据库客户端有关,而不是与数据库本身有关。我错了。我会把这个问题留给其他和我一样迷失的人。
【问题讨论】:
基本SQL每个人都有自己的扩展,mysql也不例外。 我越来越意识到这一点!这是使用 Oracle 数据库。我不确定它是否还有其他名称。 当我发现我运行的是 Oracle 数据库而不是 MySQL 数据库后,我就明白了:select * from v$database;
和 select ora_database_name from dual;
如果您要减去该问题,请说明原因。完全合理的问题,因为当我问它时我不知道答案,这里的讨论引导我找到答案。
@MatthewDoucette:甚至不知道您连接到什么 RDBMS 可能会让人们浪费时间试图找出您的问题。我能理解为什么人们会对此持负面看法。正如您所说,一旦您意识到您正在与 Oracle 服务器对话,找到问题的答案就很简单了。
【参考方案1】:
一旦我意识到我运行的是 Oracle 数据库,而不是 MySQL,我就找到了答案
select * from v$database;
或
select ora_database_name from dual;
两个都试试。来源和来源:http://www.perlmonks.org/?node_id=520376。
【讨论】:
注意:显然这些的安全权限是不一样的。在我的情况下,从双重工作中选择 ora_database_name,另一个得到一个无效的表错误。【参考方案2】:试试这个:
select * from global_name;
【讨论】:
这允许通过 dblink 进行查询:select global_name from global_name@dblink_identifier
【参考方案3】:
您可以使用以下命令只知道数据库的名称,而不显示额外的列。
select name from v$database;
如果您需要有关数据库的任何其他信息,那么首先要知道哪些是可用的列名称
describe v$database;
并选择您要查看的列;
【讨论】:
【参考方案4】:我知道这是一个旧线程,但您也可以从 V$INSTANCE
视图中获得一些有用的信息。 V$DATABASE
显示来自控制文件的信息,V$INSTANCE
视图显示当前实例的状态。
【讨论】:
【参考方案5】:编辑:哎呀,在回答之前没有检查您的问题标签。
检查您是否可以实际连接到 DB(是否放置了驱动程序?在创建时测试了 conn?)。
如果是这样,请尝试使用 F5 运行这些查询
【讨论】:
我可以连接到它并运行查询,并且已经使用了几个月。刚刚在问题中添加了这一点。 答案是,一旦我意识到我正在运行一个 Oracle 数据库:'select * from v$database;'和/或“从双重选择 ora_database_name;”【参考方案6】:要查看数据库名称, 启动;
然后输入 显示参数db_name;
【讨论】:
【参考方案7】:描述数据库名称;您需要指定数据库的名称,结果将包括每个属性的数据类型。
【讨论】:
以上是关于如何在 Oracle SQL Developer 中查询数据库名称?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SQL Developer 中检查语法 Oracle 存储过程?
oracle 客户端 sql developer 如何修改jdk版本