日期:2014-05-16  浏览次数:20505 次

配置HSQLDB数据库[服务器模式]

<!--StartFragment -->HSQLDB是一个开放源代码的JAVA数据库,具有标准的SQL语法和JAVA接口。HSQLDB可以自由使用和分发,具有内存数据库,独立数据库和客户-服务器三种数据库模式。本文介绍客户-服务器模式的配置。

?

从HSQLDB主页上下载HSQLDB:

http://hsqldb.org/

?

把下载的压缩文件解开,然后在系统环境变量中加入hsqldb.jar,如:

?

D:\work\eclipse\hibe\data>echo %classpath%
.;c:\java\lib\tools.jar;%JAVA_HOME\lib\dt.jar;D:\work\eclipse\hibe\WebRoot\WEB-INF\lib\hsqldb.jar;

?

?

在硬盘中任意位置建一个目录作为HSQLDB数据库的主目录,然后打开命令行,进入该目录。在里面建一个server.properties文件,这是HSQLDB服务器模式的配置文件。可以在里面设置数据库服务的监听端口、服务名称、数据文件的相对和绝对路径:

?

?

#begin of 'server.properties' file

#数据库服务的监听端口
server.port=9001

#定义服务名称,也即数据库名称。数据库链接的URL即为

#jdbc:hsqldb:hsql://localhost:9001/bitan。
server.dbname.0=bitan

#该服务在硬盘上的相对或绝对路径。file:后面可以跟相#对或绝对路径,如file:bitan表示数据文件为当前目录下的bitan.*文件。服务名和路径之间通过小数点后的数字关联。比如database.0与#dbname.0关联,database.1与dbname.1关联,……,database.n与dbname.n关联。
server.database.0=file:bitan
#mounts a 'file_in_jar' database with alias 'restest'
#database connection url would be 'jdbc:hsqldb:hsql://host:1234/restest'
#server.database.1=res:/mypackage/test
#server.dbname.1=restest
#mounts a 100% in-memory (transient) database with alias 'memtest'
#database connection url would be 'jdbc:hsqldb:hsql://host:1234/memtest'
#server.database.2=mem:test
#server.dbname.2=memtest
#...
#server.database.n=...
#server.dbname.n=...
server.silent=true

#end of 'server.properties' file

?

进入上面设置的主目录,启动HSQLDB服务器:HSQLDB会在当前目录下寻找server.properties文件,如果没有发现该文件就使用默认设置。

?

?

D:\work\eclipse\hibe\data>java org.hsqldb.Server
[Server@1034bb5]: [Thread[main,5,main]]: checkRunning(false) entered
[Server@1034bb5]: [Thread[main,5,main]]: checkRunning(false) exited
[Server@1034bb5]: Startup sequence initiated from main() method
[Server@1034bb5]: Loaded properties from [D:\work\eclipse\hibe\data\server.prope
rties]
[Server@1034bb5]: Initiating startup sequence...
[Server@1034bb5]: Server socket opened successfully in 78 ms.
[Server@1034bb5]: Database [index=0, id=0, db=file:bitan, alias=bitan] opened su
cessfully in 1000 ms.
[Server@1034bb5]: Startup sequence completed in 1093 ms.
[Server@1034bb5]: 2005-11-03 11:30:47.046 HSQLDB server 1.8.0 is online
[Server@1034bb5]: To close normally, connect and execute SHUTDOWN SQL
[Server@1034bb5]: From command line, use [Ctrl]+[C] to abort abruptly

?

?

另外开一个命令行窗口,启动HSQLDB的管理工具,这是GUI外观的程序:

?

?

D:\work\eclipse\hibe\data>java