前几天写了一篇博客:“android作为客户端,PC作为服务端,实现网络通信”,实现了一个简单的功能就是将pc服务端mysql中的数据显示在android手机客户端上。但有的道友用的微软的Access数据库,其实实现原理都一样,这里咱们说一下Java如何访问Access数据库。
这里我建了一个test.mdb,在test.mdb建立一张test表,我的test.mdb路径为:E:\dataAnalysis\test.mdb
其实很简单,就几行java代码,也不需要驱动,代码如下:
import java.io.File;
import java.sql.*;
public class accessConnection {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
String dbUr1="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=E:"+File.separator+"dataAnalysis"+File.separator+"test.mdb";
String user="";
String password="";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c=DriverManager.getConnection(dbUr1,user,password);
Statement s=c.createStatement();
ResultSet r=s.executeQuery("SELECT NAME "+"FROM test");
while(r.next()){
System.out.println(r.getString("NAME"));
}
s.close();
}
}
其实最重要的一条语句就是:
String dbUr1="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=E:"+File.separator+"dataAnalysis"+File.separator+"test.mdb";
这个路径的要求是极为严格的,只允许Microsoft Access Driver这三个单词中间各有一个空格,其他地方绝不允许出现空格,还望各位道友仔细检查。
还有一点就是File.separator,由于不同的操作系统的分隔符可能不一样,况且我们这里直接用E:\dataAnalysis\test.mdb的话,你可能要再加一个反斜杠去进行转义,为了避免麻烦,所以我们直接用File.separator自动获取系统默认的分隔符。
好了,就如此简单,希望对大家有用!