[標(biāo)題]:Java訪問Access數(shù)據(jù)庫
[時(shí)間]:2008年12月21日
[摘要]:JDBC-ODBC橋的方式又可以通過兩種方式訪問Access:(1)、配置ODBC數(shù)據(jù)源的方式。(2)、無需配置ODBC數(shù)據(jù)源,使用連接字符串指定數(shù)據(jù)源。
[關(guān)鍵字]:JDBC,ODBC,Access,Driver,驅(qū)動(dòng),DSN,Java
[正文]:
使用Java訪問Access數(shù)據(jù)庫一般使用JDBC-ODBC橋驅(qū)動(dòng),因?yàn)檫@個(gè)驅(qū)動(dòng)是JDK自帶的驅(qū)動(dòng),所以不用下載即可使用。JDBC-ODBC橋的方式又可以通過兩種方式訪問Access。
(1)、配置ODBC數(shù)據(jù)源的方式。
首先在系統(tǒng)"控制面板"->"管理工具"->"數(shù)據(jù)源(ODBC)"的"系統(tǒng)DSN"中添加一個(gè)Access數(shù)據(jù)源,設(shè)置數(shù)據(jù)源名稱為"test"。也可以選擇"用戶DSN"選項(xiàng)卡,系統(tǒng)的DSN對(duì)每個(gè)用戶都適用可避免調(diào)試時(shí)出現(xiàn)的權(quán)限問題。程序如下:
import java.sql.*;
import java.io.*;
class Access{
public static void main(String[] args){
//String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=E:\\helpdb.mdb";
String url = "jdbc:odbc:helpdb";//helpdb為ODBC數(shù)據(jù)源名稱
Connection conn = null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection(url , "" , "");
Statement statement=conn.createStatement();
ResultSet rs=statement.executeQuery("select * from TAttachment");
while(rs.next()){
System.out.println(rs.getString(1));
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(conn!=null)
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
}//end of main
}
(2)、無需配置ODBC數(shù)據(jù)源,使用連接字符串指定數(shù)據(jù)源。
實(shí)際上,這和配置ODBC數(shù)據(jù)源的方式是類似的,只是JDBC幫我們完成了配置而已。這時(shí),只需要將以上程序中的url改為url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=E:\\helpdb.mdb"即可。其余部分不用改。
當(dāng)然還有其它的驅(qū)動(dòng)方式,可以從http://developers.sun.com/product/jdbc/drivers 下載JDBC驅(qū)動(dòng)。不過,上面很多都是收費(fèi)的驅(qū)動(dòng),而且多是第三方驅(qū)動(dòng)。Microsoft為SQL Server提供了JDBC驅(qū)動(dòng),好像沒有為Access提供JDBC驅(qū)動(dòng)。盡管JDBC-ODBC橋的訪問方式效率最低,但也沒辦法。也不指望用Access寫什么大的程序,自己做個(gè)Demo什么的用一用還是很方便的。
posted on 2008-12-21 22:27
天堂露珠 閱讀(1571)
評(píng)論(0) 編輯 收藏 所屬分類:
Java