新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式数据库在Java中的应用[1]

嵌入式数据库在Java中的应用[1]

作者:时间:2008-04-03来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/258086.htm2. 编译第三方接口

  源代码是C,而且官方网站上只提供了C和Tcl语言的接口。为了应用接口,要采用第三方的接口驱程,可在参考链接三中找到这个接口程序。这个接口提供了两种连接 的方式:一是直接用JNI技术调用的C语言接口,这种方式要求开发人员要对SQLite本身的API也有一定的了解。在第二种方式中,接口程序实现了Java标准规范的JDBC接口,这样开发人员只要对JDBC有了解就可以了。

  下面介绍在Windows系统MS VC6环境中编译SQLite Java接口(同时包括JNI和JDBC两个接口)的过程。如果你对C语言编译的设置很熟悉,可以跳这这段介绍。

  第一步先把SQLite源代码编译成Lib静态库文件。具体的步骤可以直接应用下面参考链接中提供的MS VC6工作区文件,其中有一个编译SQLite到静态库的设置。编译成功后得到SQLite.lib文件。
  第二步要建立一个新的VC DLL项目,然后和上面介绍的Berkeley DB在编译Java本地化接口的设置一样,在VC的Tools菜单Options选项中指定JNI.H等JNI编译所要的头文件位置。同时还要指定sqlite.h头文件位置,这个文件是在生成SQLite静态库的时候自动生成的,可以在SQLite.lib文件所在的工作区目录下面找到它,例如加入的路径为C:sqlitemsvc6。然后在Project菜单的setting选项设置Link到SQLite.lib库文件,并再次在Tools菜单中Options指定SQLite.lib的查找路径。注意有些情况下可能要设置予编译选项HAVE_SQLITE_COMPILE以便使用SQLite中VM的一些功能。编译成功后可得到Sqlite_jni.dll文件。

  第三方接口库中的Java代码包含JNI接口和多个版本的JDBC接口程序,可根据你的JRE的版本选择相应的JDBC程序。编译这些Java代码的过程这里就不做叙述了。

  编译后的Java类包加上前面得到的Sqlite_jni.dll文件,组成了SQLite的Java接口库,在应用Java语言调用JDBC或JNI接口时,都是通过应用Java的本地化技术调用Sqlite_jni.dll文件,完成对SQLite数据库的操作。

  3. 应用JNI直接调用SQLite功能

  下面这段代码演示如何应用JNI接口操作SQLite。可以看到Database类的exec()方法是执行SQL语句的关键:

  Database db = new Database();
  try {
    //打开数据库
    db.open(c:tempmydata.slt, 0666);
    db.interrupt();
    db.busy_timeout(1000);
    db.busy_handler(null);
    db.exec(create table account (name varchar(10),gale boolean),result);
    db.exec(insert into account values('steve','m'), result);
    db.exec(select * from account,result);
    //关闭数据库
    db.close();
  } catch (Exception e) {
    e.printStackTrace();
  }

  4. 应用JDBC连接SQLite

  用SQLite.JDBCDriver作为JDBC的驱动程序类名。连接JDBC的URL格式为jdbc:sqlite:/path。这里的path为指定到SQLite数据库文件的路径,例如:

  jdbc:sqlite://dirA/dirB/dbfile
  jdbc:sqlite://DRIVE:/dirA/dirB/dbfile
  jdbc:sqlite://COMPUTERNAME/shareA/dirB/dbfile


评论


相关推荐

技术专区

关闭