DataSource Error - makeURL() Failed

This section provides information the makeURL() error when creating connections from a DataSource object.

While testing the OracleDataSource class, I noticed that if the driver type was not provided, OracleDataSource class would fail to create a connection object. Here is a simple test program:

/* OracleDataSourceError.java
 * Copyright (c) HerongYang.com. All Rights Reserved.
 */
import java.sql.*;
import javax.sql.*;
public class OracleDataSourceError {
  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();

// Testing without setting the driver type
//    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 the connection URL back
      System.out.println("Connection URL: "+ds.getURL());

// Closing the connection
      con.close();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

Here is the error message I received:

herong> javac -cp .;ojdbc11.jar OracleDataSourceError.java

herong> java -cp .;ojdbc11.jar OracleDataSourceError

java.sql.SQLException:
Invalid Oracle URL specified: OracleDataSource.makeURL
   at oracle.jdbc.pool.OracleDataSource.makeURL(...)
   at oracle.jdbc.pool.OracleDataSource.getConnection(...)
   at oracle.jdbc.pool.OracleDataSource.getConnection(...)
   at OracleDataSourceError.main(OracleDataSourceError.java:25)

Table of Contents

 About This Book

 JDBC (Java Database Connectivity) Introduction

 JDK (Java SE) Installation

 Oracle Express Edition Installation on Windows

Oracle JDBC Drivers

 Oracle JDBC Drivers Overview

 JDBC Thin Client-Side Driver Installation

 Loading JDBC Driver Class - ojdbc16.jar

 JDBC Driver Connection URL

 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 - PreparedStatement

 Oracle - JBDC CallableStatement

 Oracle CLOB (Character Large Object) - TEXT

 Oracle BLOB (Binary Large Object) - BLOB

 Archived Tutorials

 References

 Full Version in PDF/EPUB