从oracle 11g Express Edition获取所有数据库名称

时间:2016-09-26 13:10:11

标签: oracle oracle11g

我可以连接Oracle数据库。

我有一个任务来列出ComboBox或List中的所有数据库名称,数组。

我需要查询才能获得结果

在搜索时,我找到了所有表格查询的列表。

SELECT table_name 
FROM user_tables

我对Oracle DB一无所知。

我正在使用Windows 8操作系统进行开发。

2 个答案:

答案 0 :(得分:3)

11g XE上只有一个数据库(与SQL Server和MySQL不同)。您可以拥有应用程序可能使用的多个模式。

您可以使用

列出所有架构
SELECT username FROM all_users;

虽然这将包含许多内置架构,您可能希望通过添加类似

的内容来排除这些架构
WHERE username NOT IN ('ANONYMOUS', 'APEX_030200', 'APEX_040200', 'APEX_PUBLIC_USER', 'APPQOSSYS', 'AUDSYS', 'CLOUD_ENGINE_USER', 'CLOUD_SWLIB_USER', 'CTXSYS',
        'DBSNMP', 'DIP', 'DMSYS', 'EXFSYS', 'DVF', 'DVSYS', 'FLOWS_030000', 'FLOWS_FILES', 'GSMADMIN_INTERNAL', 'GSMCATUSER', 'GSMUSER',
        'LBACSYS', 'MDDATA', 'MDSYS', 'MGMT_VIEW', 'OJVMSYS', 'OLAPSYS', 'ORDDATA', 'ORDPLUGINS', 'ORACLE_OCM', 'ORDSYS', 'OUTLN', 'OWBSYS',
        'SCOTT', 'SI_INFORMTN_SCHEMA', 'SPATIAL_CSW_ADMIN_USR', 'SPATIAL_WFS_ADMIN_USR', 'SYS', 'SYSBACKUP', 'SYSDG', 'SYSKM', 'SYSMAN', 'SYSMAN_APM',
        'SYSMAN_MDS', 'SYSMAN_OPSS', 'SYSMAN_RO', 'SYSTEM', 'TSMSYS', 'OWBSYS_AUDIT', 'WKPROXY', 'WKSYS', 'WK_TEST', 'WMSYS', 'XDB', 'XS$NULL');

答案 1 :(得分:1)

您可以使用以下查询

SELECT DISTINCT OWNER FROM ALL_OBJECTS;

从数据库中获取distict值