注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

让一切都逝去吧

排骨炖泥菜/猪肝炒苹果/鱼籽狗肉汤/狗头薏米汤

 
 
 

日志

 
 

hsqldb数据库安装  

2013-03-17 00:33:14|  分类: 数据库 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
      hsqldb内存数据库测试的时候常用,它的安装就是下载下来(2.2.9),解压,在bin目录执行以下命令创建数据库:
java -cp ../lib/hsqldb.jar org.hsqldb.Server -database my-project-test
      下面这个命令可以启动图形界面
java -cp ../lib/hsqldb.jar org.hsqldb.util.DatabaseManager
      然后可以连接数据库,先暂时以内存模式登录,url为jdbc:hsqldb:mem:my-project-test,可以不用用户名、密码直接登录。登录后可以创建表,创建成功后,要执行下View->Refresh Tree才可以看到新建的表。图形界面功能很简单,基本就只能跑下sql。
      hsqldb的连接方式有几种,如下:
一、内存(Memory-Only)模式:所有的数据都将在内存中完成,如果程序退出,则相应的数据也将同时被销毁。连接JDBC的实例为:jdbc:hsqldb:mem:dbname

二、进行(In-Process)模式:此模式从应用程序启动数据库,由于所有的数据都将写到文件中,所以,即使程序退出,数据也不会被销毁。In-Process不需要另外启动,可以通过DriverManager.getConnection(jdbcUriName,”sa”,””);方式即可启动数据库。连接JDBC的实例为:

jdbc:hsqldb:file:/E:/hsqldb/data/dbname

jdbc:hsqldb:file:/opt/db/dbname

jdbc:hsqldb:file:dbname

这种方式还可以省略file关键字,jdbc:hsqldb:data/dbname,这样就会在当前项目的data目录下创建数据库文件。

三、服务器模式:此模式下HSQLDB跟其它数据库服务器一样,需要通过服务器的形式来进行启动,可以通过java –cp ../lib/hsqldb.jar org.hsqldb.Server –database.0 testdb –dbname.0 testdbName的命令启动一个守护进程。连接JDBC的实例为:jdbc:hsqldb:hsql://localhost:<port>/dbname

四、Web服务器模式:此模式以WEB服务器的形式启动,并通过HTTP协议接受客户端命令。从1.7.2版本开始,Web服务器模式的HSQLDB开始支持事务处理。可以通过java –cp ../lib/hsqldb.jar org.hsqldb.WebServer –database.0 testdb –dbname.0 testdbname的命令来启动。

详情看这里:
http://fengyongfa2006.blog.163.com/blog/static/3665465920106288451611/

其中一个创建自定义数据库的方法也记录下
在hsqldb安装目录下创建一个server.properties文件,文件内容为(注:在实际文件中,删除后面的注释内容):

server.port=9001               #指定端口号为9001
server.database.0=file:data/mydb  # 将在data目录下创建mydb数据库
server.dbname.=mydb           #指定数据库名,jdbc连接时就是用此名称
server.silent=true

然后启动hsqldb就可以了。

      需要注意一点的是,mem模式不需要用户、密码就可以登录,standalone模式必须提供用户名,可以用默认用户sa(无密码)连接数据库。

      使用jdbc连接hsqldb,如果出现这个错误
Could not create connection; - nested throwable: (java.sql.SQLException: error in script file line: 1 Unexpected token UNIQUE, requires COLLATION in statement [SET DATABASE UNIQUE])
      有可能是数据库文件是hsqldb文件是2.0版本以上创建的,而hsqldb的jdbc jar包是版本1的,升级jdbc jar包就可以了。
<dependency>
   <groupId>org.hsqldb</groupId>
   <artifactId>hsqldb</artifactId>
   <version>2.2.6</version>
</dependency>
1和2的groupId还有区别
<dependency>
<groupId>hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>1.8.0.10</version>
</dependency>
  评论这张
 
阅读(2080)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018