HSQLDB使用教程
HyperSQL Database(HSQLDB)是一个关系型数据库系统 。它被数据库应用用来开发测试部署。HyperSQL使用Java语言编写,运行在JVM上。它支持数据库访问的JDBC接口。为了使用HyperSQL数据库,你首先需要到其官网下载这个应用,官网地址为hsqldb.org,我当前下载的版本是2.5。解压压缩包,在lib文件夹下,你能找到hsqldb.jar的文件,这个jar包包含几个组件和程序
HyperSQL RDBMS引擎HyperSQL JDBC Driver数据库管理工具(基于Swing和AWT版本的访问数据的GUI工具)HyperSQL RDBMS和JDBC Driver提供核心功能。DatabaseManagerSwing是一个数据库访问工具。另外,sqltool.jar包包含Sql工具,是一个访问数据库的命令行工具。
运行数据库访问工具
交互式用户使用工具来访问数据库,包括数据库的创建,插入或改数据,或者查询数据库。在下面的例子中,Swing版本的数据库管理工具被执行。hsqldb.jar位于../lib目录下相对当前目录。
java -cp ../lib/hsqldb.jar org.hsqldb.util.DatabaseManagerSwing假如hsqldb.jar在当前目录下,命令应该改变为:
java -cp hsqldb.jar org.hsqldb.util.DatabaseManagerSwing当工具被成功启动,你能够连接到数据库,并使用SQL命令操作数据库。这里,你可以连本地数据库xdb,连接明细如下图
基于这样的UI界面,你可以很方便的操作数据。
HyperSQL数据库
每个HyperSQL数据库被叫做一个catalog。根据数据的存储,HyperSQL有三种catalog类型
mem : 数据存储在内存中file : 数据存储在文件系统文件中res : 数据存储为一个Java资源,如一个只读的jar包内存模型的catalog能够用来测试或者精密缓存。这种类型的数据库没有任何文件。
文件模型的catalog包含2-6个文件,名称都是相同的,只有扩展名不同,并且位于相同的目录下。例如,数据库叫test,则包含下面的文件:
test.propertiestest.scripttest.logtest.datatest.backuptest.lobs属性文件包含一些数据库的配置。脚本文件包含表和其他数据库对象的定义。日志文件数据库当前的改变。数据文件包含表缓存的数据。备份文件是一个数据文件的备份压缩文件。
当test catalog被打开,test.log文件被用来写数据产生的改变。这个文件当一个常规SHUTDOWN的时候被移除。此外,对于异常SHUTDOWN的情况,这个文件下次启动的时候被用来恢复改变。
res类型的catalog包含一个zip或jar格式的文件,这个文件被部署为一个Java应用程序的一部分。
现在我们一起运行AWT版本的DatabaseManager工具,hsqldb.jar位于相对于当前路径的../lib下面,命令如下:
Java -cp ../lib/hsqldb.jar org.hsqldb.util.DatabaseManager
将命令保存为后缀名为bat的批处理文件,保存为DatabaseManager.bat,也可根据个人习惯命名。
执行DatabaseManager.bat你将看到如下画面:
•Recent:选择你最近的登录方案,[可选]
•Setting Name:本次登录方案名称,如果本次登录成功,那么等你下次登录的时候在Recent下拉列表中将看到你的成功登录方案[可选]
•Type:登录模式,其中包括In-Memory模式、Standalone(In-process)模式、Server模式、WebServer模式... ...[必选]
•Driver:连接数据库的驱动程序[必选]
•URL:连接数据库的URL[必选]
•User:用户名[必选]
•Password:密码[ 除非密码为空]
如果你想运行DatabaseManagerSwing也很简单,相信你已经想到了。我们只需要把启动DatabaseManager命令修改成:
Java -cp ../lib/hsqldb.jar org.hsqldb.util. DatabaseManagerSwing
注:如果Type项选择Server模式或者WebServer模式需要你事先启动与之对应的服务模式。而Standalone(In-process)默认是不支持DatabaseManager连接的,具体原因我们已经在前面解释过。至于In-Memory可以随意登录,所有的操作数据都不会记录在本地磁盘。而Type还有很多其他选项,具体的用法可以参考官方文档,位置在hsqldb目录\doc\guide\ guide.pdf。
当 PENTAHO-SERVER-CE-9.4 启动后,默认 启动HSQLDB , 其端口为 9001, 数据库: QUARTZ 、SAMPLEDATA、hibernate 等几个。