從Java,我想連接到服務器中的.ACCDB文件(DSN較少),我不斷收到錯誤。我搜索了幾個小時,找不到任何東西。請幫忙!爲什麼我會得到「未找到數據源名稱並且沒有指定默認驅動程序」?
String sURL = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=DBQ=C:/test/theDB.accdb;READONLY=true;";
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
log.debug("url: "+sURL);
// create connection to database using connection string
dbCon = DriverManager.getConnection(sURL);
}
catch(SQLException e) {
//retry
try{dbCon = DriverManager.getConnection(sURL);}
catch(SQLException ex){
// Now, it is real failing. Throw exception
log.error("Fail second time",ex);
throw new SQLException(e.getMessage());
}
} catch (ClassNotFoundException e) {
log.error(e.getMessage());
throw new SQLException(e.getMessage());
}
return dbCon;
這裏是例外,我得到:
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source) [na:1.7.0_10] at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source) [na:1.7.0_10] at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source) [na:1.7.0_10] at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source) [na:1.7.0_10] at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source) [na:1.7.0_10] at java.sql.DriverManager.getConnection(Unknown Source) [na:1.7.0_10] at java.sql.DriverManager.getCon...
錯誤: 值java.sql.SQLException:[微軟] [ODBC驅動程序管理器]數據源名稱找不到和未指定默認驅動程序 \t在sun.jdbc.odbc.JdbcOdbc.createSQLException(來源不明)NA:1.7 .0_10] \t在sun.jdbc.odbc.JdbcOdbc.standardError(未知來源)[NA:1.7.0_10] \t在sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(未知來源)[NA:1.7.0_10] \t在sun.jdbc.odbc.JdbcOdbcConnection.initialize(未知來源)[NA:1.7.0_10] \t在sun.jdbc.odbc.JdbcOdbcDriver.connect(未知來源)[NA:1.7.0_10] \t在java的。 sql.DriverManager.get連接(未知源)[na:1.7.0_10] \t at java.sql.DriverManager.getCon ... – mycoffee 2013-05-13 17:28:05
沒關係,我解決了它。謝謝。這只是Java運行版本問題 – mycoffee 2013-05-13 17:42:20