baidu_26873067
明月夜ll
采纳率50%
2016-04-26 09:17 阅读 1.5k

java 连接 access数据库问题

方法如下:
public List> queryProject(String path) throws SQLException {
//加载驱动
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
return null;
}
String dbUrl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + path;
Connection conn = DriverManager.getConnection(dbUrl);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select InstanceID, name from Project");
List> results = new ArrayList>();
while(rs.next()){
Map rst = new HashMap();
rst.put("InstanceID", rs.getString(1));
rst.put("name", rs.getString(2));
results.add(rst);
//System.out.println(rs.getString(1)+"-->"+rs.getString(2));
}
rs.close();
stmt.close();
conn.close();
return results;
}
断点调试,发现在执行Connection conn = DriverManager.getConnection(dbUrl);代码时,报如下错误:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 超出系统资源。
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3073)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)

这个问题该如何解决呢?
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • baidu_26873067 明月夜ll 2016-04-26 09:24

    求解答啊!!!!大神在哪。。。

    点赞 评论 复制链接分享
  • CSDNXIAOS Robot-S 2016-04-26 09:30

    package org;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;

    public class TestAcess {
    /**
    * @param args
    */
    p......
    答案就在这里:java连接access数据库
    ----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

    点赞 评论 复制链接分享
  • laotansuocai laotansuocai 2016-04-26 09:47

    **Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String url= "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=access\dbaccess.mdb";
    String uname = "";
    String password = "";
    Connection conn = DriverManager.getConnection(url, uname, password); *

    这种直接连数据库的方式现在用的表较少了,看看你的用户名和密码

    点赞 评论 复制链接分享
  • baidu_26873067 明月夜ll 2016-04-26 09:57

    不需要用户名和密码,我新建一个Java项目测试的时候,是可以直接连接上并返回数据的!(代码基本上和上面的一样)
    然后把代码放到持久层就变成这样了!!
    感觉狗咬刺猬,无处下牙呀!

    点赞 评论 复制链接分享

相关推荐