2013-05-13 84 views
0

從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...

+0

錯誤: 值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

+0

沒關係,我解決了它。謝謝。這只是Java運行版本問題 – mycoffee 2013-05-13 17:42:20

回答

0

DBQ=DBQ=C: ...可能會引起問題。一個DBQ=就足夠了。

相關問題