想在用戶端程式中暫存一些資料(資料庫較大,類別較多),不想用檔案,因其不便於檢索,操作也麻煩。於是去找一種輕便的檔案資料庫,看了一下,先看中了幾種,1,Berkeley DB(開源,一些條件下收費,且昂貴)2,SQLite(開源,完全免費),Berkeley DB不支援標準的SQL,於是更不宜採用,SQLite不僅支援標準的SQL,且在多種平台上可以使用,尤其在嵌入式平台上,(linux/wndows/wince.etc.), gdbm/jdbm這種資料庫看了一下,簡單,但是操作以Hashtable形式操作,資料檢索能力有限,再看了一下SQLite竟然有C介面,java介面,java的JDBC介面,神人也,沒有理由不選之。
去http://www.sqlite.org/.下載 sqlite的dll及資料庫管理軟體,都是很小,這才是高人。
去http://www.ch-werner.de/javasqlite/javasqlite-20080420-win32.zip 下載jdbc
裝載這些東西到Eclipse中,按JDBC的使用方法,
Class.forName("SQLite.JDBCDriver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:sqlite:/test.sdb");
Statement smt = conn.createStatement();
ResultSet rst = smt.executeQuery("select * from tbl_user ");
if (rst.next())
{
String user_name = rst.getString("user_name");
System.out.println(user_name);
};
一些OK,完成。非常簡單,
當然。test.sdb.這個檔案要用剛才下載的SQLite管理工具進行建立表等工作。
還有就是SQLite_ini.dll 的檔案最好放到JDK/JRE的 jre/bin下面,如果想便於發布 到其它機器上,你就要放它到執行主類檔案的相同目錄下,或者按classpath來放。
下周有時間,再研究一下如何在VC裡使用SQLite比access要好用些。
BTW:
一些常用的檔案資料庫:
CloudsCape(http://www-306.ibm.com/software/data/cloudscape/去下載)IBM公司的。Oracle公司好像也有款移動輕型資料庫叫什麼Oracle 9i Lite
HSQL 完全由java編寫,部分支援JDBC運行於 Personal Java 與 FP/PP平台上卻不能為MIDP(一般手機J2ME)提供解決方案,可惜!不過要去看看新的版本有沒有支援MIDP裝置。
PointBase Micro 也全由Java編寫運行 FP/PP/Personal Java和MIDP平台提供輕量級類似JDBCAPI也可通過UniSync工具與其它資料庫(如Oracle)同步資料。可惜,要收錢的。
Sybase IAnywhere
IBM DB2 Everyplace