我以独立的方式使用版本hsqldb-1.8
。我想用一些数据库启动服务器。我想使用HSQLDB文档中的命令行:
java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 file:mydb -dbname.0 xdb
我的问题是我有我需要的每个数据库的脚本,这个命令行创建一个新的数据库,而不使用我的脚本。问题可能来自其中一点:
我想留在控制台里做所有这些。这样,我只需要启动一个脚本来完成所有工作。任何帮助都感激不尽 !感谢
答案 0 :(得分:2)
我找到了我的问题的解决方案:)
我在目录server.properties
中创建了一个../hsqldb-1.8.10/hsqldb/
文件,其中包含:
server.database.0=file:mydb;user=test;password=test
server.dbname.0=mydb
我还创建了包含该代码的mydb.script
文件:
CREATE SCHEMA PUBLIC AUTHORIZATION DBA
CREATE MEMORY TABLE MYDB(ID BIGINT NOT NULL,VERSION INTEGER NOT NULL,NOM VARCHAR(255))
CREATE USER TEST PASSWORD "TEST"
GRANT DBA TO TEST
SET WRITE_DELAY 10
SET SCHEMA PUBLIC
INSERT INTO MYDB VALUES(1,0,'test')
然后,我使用以下命令启动HSQLDB服务器:
java -cp ../lib/hsqldb.jar org.hsqldb.Server
我们可以看到数据库已成功创建:
[Server@10f0f6ac]: Database [index=0, id=0, db=file:mydb, alias=mydb] opened successfully in 313 ms.
要检查数据库是否确实包含我的数据,我使用HSQLDB DatabaseManager
工具执行此命令:
java -cp ../lib/hsqldb.jar org.hsqldb.util.DatabaseManager
连接:
之后,我们连接到数据库。执行命令SELECT * FROM MYDB;
,我们可以看到数据库的行。
答案 1 :(得分:1)
与HSQLDB(IMDB)连接的简便方法
连接字符串
<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<property name="url" value="jdbc:hsqldb:file:/home/vikask/elmo/db/elmo;" />
<property name="username" value="sa" />
<property name="password" value="" />
在这个简单的Java项目中,使用Java Annotations演示Hibernate,HSQL和Maven。 HSQL数据库用于简化项目,因为我们可以使用内存数据库,我们只需要一个JAR文件包含在我们的项目中。
要连接到嵌入式HSQLDB数据库,请从连接类型列表中选择JDBC(HSQLDB Embedded)连接类型。输入任何登录信息(如果适用),然后指定是使用现有嵌入式数据库,还是让HSQLDB创建新的嵌入式数据库。
如果嵌入式数据库已存在,请浏览到数据库文件所在的目录(例如database_name.log,database_name.script和database_name.properties),然后选择database_name.script文件。 如果数据库不存在,请键入或浏览以为HSQLDB数据库创建新位置。然后HSQLDB将创建必要的文件,前缀为数据库名称。例如,如果键入/ home / vikask / sample作为数据库的位置,HSQLDB将创建一个名为sample.properites的文件,也许是sample.log等等。在这种情况下,数据库的实际名称只是样本。
答案 2 :(得分:0)
HSQLDB创建一个扩展名为.script的文件供内部使用。这不是你创造的东西。
首先运行服务器并连接到其中一个数据库。此时数据库将为空。然后使用HSQLDB zip包中的utilitly SQLTool在数据库上执行您的脚本。脚本创建的所有表和数据都保存在HSQLDB数据库中。