从Java,我想连接到服务器中的.ACCDB文件(DSN less),我不断收到错误。我用谷歌搜索了几个小时,找不到任何东西。请帮忙!
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驱动程序管理器]找不到数据源名称,并且没有在sun.jdbc.odbc.JdbcOdbc.createSQLException(未知来源)[na:1.7.0_10]指定的默认驱动程序.jdbc.odbc.JdbcOdbc.standardError(未知来源)[na:1.7.0_10] at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(未知来源)[na:1.7.0_10] at sun.jdbc.odbc.JdbcOdbcConnection.initialize (未知来源)[na:1.7.0_10] at sun.jdbc.odbc.JdbcOdbcDriver.connect(未知来源)[na:1.7.0_10] at java.sql.DriverManager.getConnection(Unknown Source)[na:1.7.0_10 ]在java.sql.DriverManager.getCon ...
答案 0 :(得分:0)
DBQ=DBQ=C: ...
可能会导致问题。一个DBQ=
就足够了。