轻便的客户端本地文件数据库 SQLite

时间:2021-12-28 06:13:34

    想在客户端程序中暂存一些数据(数据库较大,类别较多),不想用文件,因其不便于检索,操作也麻烦。于是去找一种轻便的文件数据库,看了一下,先看中了几种,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