JDBC for Oracle - Herong's Tutorial Examples - v3.12, by Herong Yang
Creating Connections with DataSource Class
This section describes how to create connection objects with the DataSource class.
It is recommended now that connection objects are created by the DataSource implementation class, oracle.jdbc.pool.OracleDataSource. The Oracle implementation offers an extra method called setDriverType() to allow you to specify the driver type: "thin", "oci", or "kprb".
Here is a sample program that creates a connection object using the DataSource class without using JNDI services:
/* OracleDataSource.java * Copyright (c) HerongYang.com. All Rights Reserved. */ import java.sql.*; import javax.sql.*; public class OracleDataSource { 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 database info DatabaseMetaData meta = con.getMetaData(); System.out.println("Server name: " + meta.getDatabaseProductName()); System.out.println("Server version: " + meta.getDatabaseProductVersion()); // Getting the connection URL back System.out.println("Connection URL: "+ds.getURL()); // Closing the connection con.close(); } catch (Exception e) { e.printStackTrace(); } } }
The output confirms that I got a good connection. Remember to include ojdbc6.jar in the classpath for compilation and execution:
herong> javac -cp .;ojdbc11.jar OracleDataSource.java herong> java -cp .;ojdbc11.jar OracleDataSource Server name: Oracle Server version: Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production Version 21.3.0.0.0 Connection URL: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (PORT=1521)(HOST=localhost))(CONNECT_DATA=(SID=XE)))
Note that the OracleDataSource class made up a connection URL string in a format very close to the TSN (Transport Network Substrate) definition.
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