【问题标题】:Why am I getting "Data source name not found and no default driver specified"?为什么会出现“找不到数据源名称且未指定默认驱动程序”?
【发布时间】:2013-05-13 17:26:04
【问题描述】:

我想从 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] 找不到数据源名称,并且在 sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source) [na:1.7.0_10] 处未指定默认驱动程序在 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 (未知来源)[na:1.7.0_10] 在 sun.jdbc.odbc.JdbcOdbcDriver.connect(未知来源)[na:1.7.0_10] 在 java.sql.DriverManager.getConnection(未知来源)[na:1.7.0_10 ] 在 java.sql.DriverManager.getCon...

【问题讨论】:

  • 错误:java.sql.SQLException:[Microsoft][ODBC Driver Manager] 找不到数据源名称,并且在 sun.jdbc.odbc.JdbcOdbc.createSQLException(未知源)中未指定默认驱动程序 [na :1.7.0_10] 在 sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source) [na:1.7.0_10] 在 sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source) [na:1.7.0_10] 在 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] 在 java.sql.DriverManager.getCon...
  • 没关系,我解决了。谢谢你。这只是java运行版本问题

标签: ms-access jdbc odbc


【解决方案1】:

DBQ=DBQ=C: ... 可能会导致问题。一个DBQ= 就足够了。

【讨论】:

    猜你喜欢
    • 2014-12-05
    • 1970-01-01
    • 2013-07-24
    • 2013-09-06
    • 2018-02-13
    • 2011-11-24
    相关资源
    最近更新 更多