JDBC Tutorials - Herong's Tutorial Examples - v3.12, by Dr. Herong Yang
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
JDBC (Java Database Connectivity) Introduction
Installing and Running Java DB - Derby
Derby (Java DB) JDBC DataSource Objects
Java DB (Derby) - DML Statements
Java DB (Derby) - ResultSet Objects of Queries
Java DB (Derby) - PreparedStatement
MySQL JDBC Driver (MySQL Connector/J)
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 - Reference Implementation of JdbcRowSet
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 - 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