JDBC for Oracle - Herong's Tutorial Examples - v3.13, by Herong Yang
Getting Driver and Server Information
This section describes how to get JDBC driver and database information through the DatabaseMetaData object.
Once you have created a database connection object, you can obtain some version information about the JDBC driver and database server through the DatabaseMetaData object as shown in the following program:
/* OracleDatabaseInfo.java * Copyright (c) HerongYang.com. All Rights Reserved. */ import java.sql.*; import javax.sql.*; public class OracleDatabaseInfo { public static void main(String [] args) { Connection con = null; try { // Setting up the DataSource object oracle.jdbc.pool.OracleDataSource ds = new oracle.jdbc.pool.OracleDataSource(); ds.setDriverType("thin"); ds.setServerName("localhost"); ds.setPortNumber(1521); ds.setDatabaseName("XE"); // Oracle SID ds.setUser("Herong"); ds.setPassword("TopSecret"); // Getting a connection object con = ds.getConnection(); // Getting driver and database info DatabaseMetaData meta = con.getMetaData(); System.out.println("Server name: " + meta.getDatabaseProductName()); System.out.println("Server version: " + meta.getDatabaseProductVersion()); System.out.println("Driver name: " + meta.getDriverName()); System.out.println("Driver version: " + meta.getDriverVersion()); System.out.println("JDBC major version: " + meta.getJDBCMajorVersion()); System.out.println("JDBC minor version: " + meta.getJDBCMinorVersion()); // Closing the connection con.close(); } catch (Exception e) { e.printStackTrace(); } } }
The output reports that ojdbc11.jar is a JDBC 4.3. driver, when running with JDK 17 and Oracle 21.3 server.
herong> javac -cp .;ojdbc11.jar OracleDatabaseInfo.java herong> java -cp .;ojdbc11.jar OracleDatabaseInfo Server name: Oracle Server version: Oracle Database 21c Express Edition Release 21.0.0.0.0 Version 21.3.0.0.0 Driver name: Oracle JDBC driver Driver version: 21.4.0.0.0 JDBC major version: 4 JDBC minor version: 3
The output reports that ojdbc6.jar is a JDBC 11.2 driver, when running with JDK 1.8 and Oracle 11.2 server. But that report is wrong. It should be a JDBC 4.? driver.
herong> \Progra~1\java\jdk1.8.0_45\bin\java -cp .;ojdbc6.jar \ OracleDatabaseInfo Server name: Oracle Server version: Oracle Database 11g Express Edition Release 11.2.0.2.0 Driver name: Oracle JDBC driver Driver version: 11.2.0.4.0 JDBC major version: 11 JDBC minor version: 2
When running with JDK 1.6, Oracle 10.2 and ojdbc14.jar, I was getting similar output:
herong> \Progra~1\java\jdk1.6.0_2\bin\java -cp .;ojdbc14.jar \ OracleDatabaseInfo Server name: Oracle Server version: Oracle Database 10g Express Edition Release 10.2.0.1.0 Driver name: Oracle JDBC driver Driver version: 10.2.0.3.0 JDBC major version: 10 JDBC minor version: 2
Table of Contents
JDBC (Java Database Connectivity) Introduction
Oracle Express Edition Installation on Windows
JDBC Thin Client-Side Driver Installation
Loading JDBC Driver Class - ojdbc16.jar
Creating Connections with DataSource Class
DataSource Error - makeURL() Failed
►Getting Driver and Server Information
"CREATE TABLE" - Creating New Tables
"INSERT INTO" - Inserting New Data Rows
Oracle - Reference Implementation of JdbcRowSet
Oracle - JBDC CallableStatement
Oracle CLOB (Character Large Object) - TEXT
Oracle BLOB (Binary Large Object) - BLOB