`
liuxi1024
  • 浏览: 385342 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hsqldb数据库启动遇到的问题

阅读更多

启动dbserver.bat

@java -cp ../hsqldb-1.8.0.jar org.hsqldb.Server -database.0 file:mydb -dbname.0 xdb

 如下报错

 

1、java.net.BindException: Address already in use: JVM_Bind

问题原因:

(1)Address already in use hsqldb需要使用的端口被其他程序占用了。

(2)用netstat -ano 命令查看端口占用情况

----------------------------------------------------------------------------------

 Proto  Local Address          Foreign Address        State           PID

----------------------------------------------------------------------------------
 TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       1236
 TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       1120
 TCP    0.0.0.0:443            0.0.0.0:0              LISTENING       1236
 TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
 TCP    0.0.0.0:1071           0.0.0.0:0              LISTENING       1200
 TCP    0.0.0.0:1521           0.0.0.0:0              LISTENING       1292
 TCP    0.0.0.0:2030           0.0.0.0:0              LISTENING       292
 TCP    0.0.0.0:2100           0.0.0.0:0              LISTENING       1292
 TCP    0.0.0.0:3306           0.0.0.0:0              LISTENING       288
 TCP    0.0.0.0:3339           0.0.0.0:0              LISTENING       1236
 TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       1292

 TCP    0.0.0.0:9001           0.0.0.0:0              LISTENING       3664

----------------------------------------------------------------------------------

(3)经过核查,发现启动的tomcat服务把9001端口服务占用了, 而hsqldb启动默认端口为9001。

 

解决方案:

(1)net stop tomcat 停止tomcat服务

(2)更改hsqldb server端口,在当前目录下建立server.properties文件,内容如下

#begin of 'server.properties' file

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

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

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

# 该服务在硬盘上的相对或绝对路径。file:后面可以跟相#对或绝对路径,如file:bitan表示数据文件为当前目录下的bitan.*文件。服务名和路径之间通过小数点后的数字关联。比如database.0与#dbname.0关联,database.1与dbname.1关联,……, database.n与dbname.n关联。
server.database.0=file:d:/xdb
#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
 

 

2、java.lang.IllegalAccessError: try to access method java.util.Calendar.setTimeInMillis(J)V from class org.hsqldb.HsqlDateTime

 

问题原因:

(1)java版本问题:java -version 发现为 java version "1.3.0"

(2)由于安装了orcale9i,系统将oracle下的jre1.3.0配置到环境变量中。

 

解决方案:打开环境变量删除oracle目录下的jre环境变量,最终使java version到 "1.6.0_02"

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics