要從jdbc連到odbc的驅動程式,因為JAVA8已經沒有再支援了,而替代方案有兩個方式,第一個比較呆版就是切回JAVA7,但是有點不實用,畢竟JAVA一直在更新,盡量不要走回頭路,第二個是利用外部函式庫jar檔幫我們完成,可以在Google搜尋UCanAccess-2.0.9.5,把裡面的Jar檔放進涵式庫裡面,就可以使用了~
做法:下載UCanAccess-2.0.9.5壓縮包,解壓後把lib檔裡的jar檔和ucanaccess-2.0.9.5.jar檔放進jdk預設路徑C:\ProgramFiles\Java\jdk1.8.0_161\jre\lib\ext 就可以使用到外部涵式庫了。
有需要涵式庫的可以跟我講,再貼連結~
(A)使用JAVA8加入外部函數庫來連結
import java.sql.*;
public class Access_GetData
{
public static void main(String[] args)
{
Connection dbCon = null;
Statement stmt = null;
ResultSet rs = null;
//程式參數
String sDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sCon = "jdbc:odbc:nana";
try{ //載入JDBC driver
Class.forName(sDriver);
}
catch(Exception e){
System.out.println("無法載入驅動程式");
return;
}
try{ //建立資料連結和Statement物件
dbCon = DriverManager.getConnection(sCon);
if(dbCon != null)
System.out.println("建立Connection物件成功!");
stmt = dbCon.createStatement();
if(stmt != null)
System.out.println("建立Statement物件成功!");
}
catch(SQLException e){
System.out.println("與資料來源連結錯誤: " + sCon);
System.out.println(e.getMessage());
if(dbCon != null){
try{ dbCon.close(); }
catch( SQLException e2 ) {}
}
return;
}
try{
rs = stmt.executeQuery("SELECT * FROM employee");
while(rs.next()){
System.out.print(rs.getString(1));
System.out.print("\t");
System.out.print(rs.getString("NAME"));
System.out.print("\t");
System.out.print(rs.getBoolean(3));
System.out.print("\t");
System.out.print(rs.getDate(4));
System.out.print("\t");
System.out.print(rs.getByte("AGE"));
System.out.print("\t");
System.out.println(rs.getString(6));
}
}
catch(SQLException e){}
try{
stmt.close();
dbCon.close();
}
catch( SQLException e ){}
}
}
(B)使用JAVA7來連結
import java.sql.*;
public class Test {
public static void main(String[] args) {
Connection dbCon = null;
Statement stmt = null;
ResultSet rs = null;
//程式參數
String sDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sCon = "jdbc:ucanaccess://c:/MyDatabase.accdb";
try //載入JDBC driver
{
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
} catch (Exception e) {
System.out.println("無法載入驅動程式");
return;
}
try //建立資料連結和Statement物件
{
dbCon = DriverManager.getConnection(sCon);
if (dbCon != null) {
System.out.println("建立Connection物件成功!");
}
stmt = dbCon.createStatement();
if (stmt != null) {
System.out.println("建立Statement物件成功!");
}
} catch (SQLException e) {
System.out.println("與資料來源連結錯誤: " + sCon);
System.out.println(e.getMessage());
if (dbCon != null) {
try {
dbCon.close();
} catch (SQLException e2) {
}
}
return;
}
try {
rs = stmt.executeQuery("SELECT * FROM employee");
while (rs.next()) {
System.out.print(rs.getString(1));
System.out.print("\t");
System.out.print(rs.getString("NAME"));
System.out.print("\t");
System.out.print(rs.getBoolean(3));
System.out.print("\t");
System.out.print(rs.getDate(4));
System.out.print("\t");
System.out.print(rs.getByte("AGE"));
System.out.print("\t");
System.out.println(rs.getString(6));
}
} catch (SQLException e) {
} finally {
try {
stmt.close();
dbCon.close();
} catch (SQLException e) {
}
}
}
}
結果圖:
文章標籤
全站熱搜

很喜歡你生活及學習的態度~ 有機會可以認識一下 交流交流~~
哈哈哈 可以阿 其實我也常看你文章學習,我po的都是當作筆記用的,老師是說筆記寫在筆記本別人看不到,就建議我們寫在網路上,其實我還在學習階段,你應該是厲害很多,互相交流吧~~
請問你還是學生嗎? 還是在工作了啊? 我目前還就讀研究所 我的文章也都是筆記性質,但是寫部落格還是也一些限制,我原本想要寫一系列的文章介紹我開發一個完整且規模稍大的系統的文章,但感覺用文字表達不是很清楚而且相當累人就放棄了。
明年升碩班,感覺你都是比較進階文章哈,你是專攻android喔?還是都很強哈哈
上哪邊的碩班呀? 我倒是比較少寫android耶
目前是中正 其他在等備取上 目前是對java android較有興趣哈 那你是寫哪方面的?
恭喜呀! 我目前實驗室再用java、javascript開發web base的應用程式
那我有java問題就可以請教你了 哈哈,javascript現在越來越夯了 一起加油!!
可以一起交流哦!! 一起進步!
哈哈 OK~~會多參考你文章學習~~~
嗨~親愛的部落客與同好夥伴們,看到大家在部落格中互動留言,真是太開心啦~ 痞客邦有個追新留言小祕技tip要偷偷告訴你喲! 只要運用簡單的小撇步,在喜愛的部落格文章中,按下【+關注】按鈕,就能在自己的興趣牆上快速追蹤各種最新動態,即時和部落客與同好夥伴們留言互動,還能探索發掘更多你可能喜歡的興趣社群新鮮事喔! >>去看看怎麼運用【+關注】https://goo.gl/xfxB4o 也歡迎大家多多關注痞客邦官方帳號,獲得更多新消息! >>去關注【痞客邦】https://goo.gl/2sEzuL >>去關注【PIXstyleMe】https://goo.gl/PBGd69
嗨~親愛的部落客與同好夥伴們,看到大家在部落格中互動留言,真是太開心啦~ 痞客邦有個追新留言小祕技tip要偷偷告訴你喲! 只要運用簡單的小撇步,在喜愛的部落格文章中,按下【+關注】按鈕,就能在自己的興趣牆上快速追蹤各種最新動態,即時和部落客與同好夥伴們留言互動,還能探索發掘更多你可能喜歡的興趣社群新鮮事喔! >>去看看怎麼運用【+關注】https://goo.gl/xfxB4o 也歡迎大家多多關注痞客邦官方帳號,獲得更多新消息! >>去關注【痞客邦】https://goo.gl/2sEzuL >>去關注【PIXstyleMe】https://goo.gl/PBGd69
嗨~親愛的部落客與同好夥伴們,看到大家在部落格中互動留言,真是太開心啦~ 痞客邦有個追新留言小祕技tip要偷偷告訴你喲! 只要運用簡單的小撇步,在喜愛的部落格文章中,按下【+關注】按鈕,就能在自己的興趣牆上快速追蹤各種最新動態,即時和部落客與同好夥伴們留言互動,還能探索發掘更多你可能喜歡的興趣社群新鮮事喔! >>去看看怎麼運用【+關注】https://goo.gl/xfxB4o 也歡迎大家多多關注痞客邦官方帳號,獲得更多新消息! >>去關注【痞客邦】https://goo.gl/2sEzuL >>去關注【PIXstyleMe】https://goo.gl/PBGd69