JDBC-ODBC - Problem with Incorrect DSN

This section describes what will happen if you specified an incorrect DSN in the connection URL when using JDBC-ODBC Bridge.

It is very common that the DSN you entered in the connection URL is not defined or defined incorrectly. In this case, the JDBC-ODBC Bridge driver will raise an exception on the DriverManager.getConnection() method. Here is a sample showing what kind of exception you will get if the DSN is wrong:

/* OdbcConnectionWrongDsn.java
 * Copyright (c) HerongYang.com. All Rights Reserved.
 */
import java.sql.*;
public class OdbcConnectionWrongDsn {
  public static void main(String [] args) {
    Connection con = null;
    try {
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;

// Connect with a wrong DSN
      con = DriverManager.getConnection("jdbc:odbc:HY_WRONG");
      System.out.println("Connection ok.");
      con.close();

    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

If you run this program, the Microsoft ODBC Driver Manager will return an error through the JDBC-ODBC Bridge driver:

herong> progra~1\java\jdk1.7.0_45\bin\javac
   OdbcConnectionWrongDsn.java

herong> progra~1\java\jdk1.7.0_45\bin\java OdbcConnectionWrongDsn

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source
name not found and no default driver specified
  at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6964)
  at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7121)
  at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3080)
  at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnectio...
  at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
  at java.sql.DriverManager.getConnection(DriverManager.java:571)
  at java.sql.DriverManager.getConnection(DriverManager.java:233)
  at OdbcConnectionWrongDsn.main(OdbcConnectionWrongDsn.java:12)

Table of Contents

 About This Book

 JDBC (Java Database Connectivity) Introduction

 JDK (Java SE) Installation

 Installing and Running Java DB - Derby

 Derby (Java DB) JDBC Driver

 Derby (Java DB) JDBC DataSource Objects

 Java DB (Derby) - DML Statements

 Java DB (Derby) - ResultSet Objects of Queries

 Java DB (Derby) - PreparedStatement

 MySQL Installation on Windows

 MySQL JDBC Driver (MySQL Connector/J)

 MySQL - PreparedStatement

 MySQL - Reference Implementation of JdbcRowSet

 MySQL - JBDC CallableStatement

 MySQL CLOB (Character Large Object) - TEXT

 MySQL BLOB (Binary Large Object) - BLOB

 Oracle Express Edition Installation on Windows

 Oracle JDBC Drivers

 Oracle - Reference Implementation of JdbcRowSet

 Oracle - PreparedStatement

 Oracle - JBDC CallableStatement

 Oracle CLOB (Character Large Object) - TEXT

 Oracle BLOB (Binary Large Object) - BLOB

 Microsoft SQL Server Express Edition

 Microsoft JDBC Driver for SQL Server

 Microsoft JDBC Driver - Query Statements and Result Sets

 Microsoft JDBC Driver - DatabaseMetaData Object

 Microsoft JDBC Driver - DDL Statements

 Microsoft JDBC Driver - DML Statements

 SQL Server - PreparedStatement

 SQL Server CLOB (Character Large Object) - TEXT

 SQL Server BLOB (Binary Large Object) - BLOB

JDBC-ODBC Bridge Driver - sun.jdbc.odbc.JdbcOdbcDriver

 JDBC-ODBC Bridge Driver Features

 JDBC-ODBC - Loading sun.jdbc.odbc.JdbcOdbcDriver

 JDBC-ODBC - Creating DSN

 JDBC-ODBC - Connecting to a DSN

JDBC-ODBC - Problem with Incorrect DSN

 JDBC-ODBC Bridge Driver - Flat Text Files

 JDBC-ODBC Bridge Driver - MS Access

 JDBC-ODBC Bridge Driver - MS SQL Server

 Summary of JDBC Drivers and Database Servers

 Using Connection Pool with JDBC

 Archived Tutorials

 References

 Full Version in PDF/EPUB