日期:2014-05-20  浏览次数:21010 次

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

------解决方案--------------------
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

------解决方案--------------------
这有两个基础的视频:
http://www.mldn.cn/articleview/2007-1-7/article_view_213.htm
http://www.mldn.cn/articleview/2007-1-7/article_view_214.htm
------解决方案--------------------
make
------解决方案--------------------
mark
------解决方案--------------------
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());
}
}

不在一个服务器上还没有试过。。。不知道可行不。。
------解决方案--------------------
都说得很明白
------解决方案--------------------
jdbc-odbc