从来没有用过access,大家帮帮忙,小弟在此谢谢了,java中怎么连接access数据库?

解决方案 »

  1.   

    import java.sql.*;
    public class dbAccess{
     public static void main(String args[]) throws Exception{
      Class.forName("sun.JDBC.odbc.JdbcOdbcDriver");
      String dburl ="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=Mobile.mdb";//此为NO-DSN方式
      //String dburl ="jdbc:odbc:odbcName";//此为ODBC连接方式
      Connection conn=DriverManager.getConnection(dburl);
      Statement stmt=conn.createStatement();
      ResultSet rs=stmt.executeQuery("select Top 20 * from MobileSection");
      System.out.println("号段\t地区\t类型\t省份\t区号");
      while(rs.next()){
       System.out.println(rs.getString(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)+"\t"+rs.getString(4)+"\t"+rs.getString(5));
      }
      rs.close();
      stmt.close();
      conn.close();
     }
    }
     
    运行结果:
    ---------- Run Java ----------
    号段 地区 类型 省份 区号
    1300566 茂名 广东联通130卡 广东 0668
    1300567 茂名 广东联通007卡 广东 0668
    1300568 茂名 广东联通007卡 广东 0668
    1300569 珠海 广东联通130卡 广东 0756
    1300570 惠州 广东联通130卡 广东 0752
    1300571 惠州 广东联通130卡 广东 0752
    1300572 惠州 广东联通130卡 广东 0752
    1300573 惠州 广东联通130卡 广东 0752
    1300574 惠州 广东联通130卡 广东 0752
    1300575 惠州 广东联通130卡 广东 0752
    1300576 珠海 广东联通130卡 广东 0756
    1300577 珠海 广东联通130卡 广东 0756
    1300578 珠海 广东联通130卡 广东 0756
    1300579 珠海 广东联通130卡 广东 0756
      

  2.   

    这有两个基础的视频:
    http://www.mldn.cn/articleview/2007-1-7/article_view_213.htm
    http://www.mldn.cn/articleview/2007-1-7/article_view_214.htm
      

  3.   

    如果我的应用程序和access数据库不在同一个服务器上呢?怎么连接啊?我没有看到在哪里写access所在服务器的ip?
      

  4.   

    private static Log log=LogFactory.getLog(DBAccess.class);
    private static String DBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
    private static String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+Path.getPath()+"/WEB-INF/xxx.mdb";
    static {
    initProxool();
    }
    private static Connection conn = null; 
    /**
     * 獲得一個連接對象
     * @return
     */
    public static Connection getConnection() {
    try {
    conn = DriverManager.getConnection("proxool.test:"+ DBDriver + ":" + url);
    //conn.setAutoCommit(true);
    } catch (SQLException e) {
    conn = null;
    log.error("Error occurs when do method Connection getConnection() in DBAccess.class:\n"+e.toString());
    }
    return conn;
    } private static void initProxool() {
    try {
    Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
    } catch (Exception ex) {
    log.error("Error occurs when do method void initProxool() in DBAccess.class:\n"+ex.toString());
    }
    }不在一个服务器上还没有试过不知道可行不。。