我正在为应用程序构建安装程序.用户可以选择他们已配置的数据源并指定它是什么类型的数据库.我想确认数据库类型确实是Oracle,如果可能,通过向数据源发送SQL语句来确定它们运行的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;
会给你:
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
SQL> SELECT version FROM v$instance; VERSION ----------------- 11.2.0.3.0
你可以使用
SELECT * FROM v$version;
要么
SET SERVEROUTPUT ON EXEC dbms_output.put_line( dbms_db_version.version );
如果你不想解析v $ version的输出.