如何确认数据库是Oracle以及使用SQL的数据库是哪个版本?

时间:2020-03-06 14:25:33  来源:igfitidea点击:

我正在为应用程序构建安装程序。用户可以选择他们已经配置的数据源,并指定它是哪种数据库。我想通过将SQL语句发送到数据源来确认数据库类型确实是Oracle,如果可能的话,确认它们正在运行的Oracle版本。

解决方案

运行以下SQL:

select * from v$version;

我们将得到类似的结果:

BANNER
----------------------------------------------------------------
Oracle Database 10g Release 10.2.0.3.0 - 64bit Production
PL/SQL Release 10.2.0.3.0 - Production
CORE    10.2.0.3.0      Production
TNS for Solaris: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production

我们可以使用

SELECT * FROM v$version;

或者

SET SERVEROUTPUT ON
EXEC dbms_output.put_line( dbms_db_version.version );

如果我们不想解析v $ version的输出。

两种方法:

select * from v$version;

会给你:

Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for Solaris: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production

或者标识Oracle数据库软件版本:

select * from product_component_version;

会给你:

PRODUCT VERSION STATUS
NLSRTL  11.1.0.6.0  Production
Oracle Database 11g Enterprise Edition  11.1.0.6.0  64bit Production
PL/SQL  11.1.0.6.0  Production
TNS for Solaris:    11.1.0.6.0  Production