您的位置: 嵌入式在线 > 技术中心 > 数据库 > 嵌入式数据库Hsqldb和McKoi的使用

嵌入式数据库Hsqldb和McKoi的使用

2006-11-18      嵌入式在线      收藏 | 打印

 

    在学习的过程中,我个人觉得似乎Hsqldb的功能和效率都比McKoi要成熟和高效一些。这里主要以介绍Hsqldb为主.
这里讨论的Hsqldb版本为1.8.0.2, McKoi为1.0.3

1)Hsqldb有三种服务模式:
2)Hsqldb Server:这是跟传统数据库一样的,使用专有协议的C/S模式;
3) Hsqldb Web Server/Hsqldb Servlet:主要用于Server和Client之间有防火墙限制,专有协议访问不可用时,此模式用http协议来访问,前者直接使用内置的Web Server,而后者则使用外部Web/App Server;
In-Process (Standalone) Mode/Memory-Only Databases:这即使嵌入式的价值所在了,前者生成的数据库是在永久性存储器中的,而后者则只生成于内存,另外从1.8.0版本开始,嵌入式中建立的数据库可同时被寄主程序和外部程序所访问了,而目前的McKoi是做不到的。

--------对于模式1:用
java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 mydb -dbname.0 xdb
启动server,database指定的是实际的数据库文件名,dbname指定的是客户端连接时url用的数据库别名。数字0是指第一个数据库,目前好像是一个进程可以最多开启10个数据库。然后用
java -cp hsqldb.jar org.hsqldb.util.DatabaseManagerSwing
启动一个自带的GUI管理器,进行管理,程序中的数据库连接格式是
Class.forName("org.hsqldb.jdbcDriver").newInstance();
c = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/xdb", "sa", "");
--------对于模式3:直接在你的应用程序中用
Class.forName("org.hsqldb.jdbcDriver").newInstance();
c = DriverManager.getConnection("jdbc:hsqldb:file:/home/db/thedbname", "sa", ""); //创建数据库于磁盘
c = DriverManager.getConnection("jdbc:hsqldb:mem:thedbname", "sa", ""); //创建数据库于内存
创建数据库连接,加入原来没有数据库文件,则创建。

注意:Hsqldb中数据的修改默认是延时20S才写入到永久性存储媒体中的,假如你的应用存储的即时性高,你在创建连接后,可以通过
st.executeUpdate("SET WRITE_DELAY {TRUE | FALSE} | | MILLIS");
来取消延时或者设定一个合适的延时时间。

McKoi的连接格式如下,也有两种工作模式:
Class.forName("com.mckoi.JDBCDriver");
//server mode
//c = DriverManager.getConnection("jdbc:mckoi://localhost/", "admin", "dbadmin");
//standalone mode username & password here can't be both empty
c = DriverManager.getConnection("jdbc:mckoi:local://./db.conf?create_or_boot=true", "admin", "dbadmin");
连接属性需要通过一个配置文件来获取,默认是获取当前目录的db.conf文件;

本文来源:互联网    作者:不详
热点资讯(一周点击率)
热评博文
评一评已有 0 位网友对此文发表了看法。  我也来评一下

验证码:  看不清?换一张

 

快乐大本营

    无线时代来临,移动产业生态系统将发生一些根本变化。今日头条推荐“芯片是嵌入式4G技术的关键 产业生态系统将发生变化”。

    想了解嵌入式开发工具的市场情况吗?先来体验下我们的在线调查吧!填写调查问卷

工程师之星
朱礼昆
电子信息工程专业,擅长硬件编程
  • 胡菲菲  技术专长:嵌入式系统linux
  • 柳如峰  技术专长:模电,电源
热门招聘
论坛热贴