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