我计划使用HSQLDB,我正在尝试使用ant的示例。
构建文件:
<target name="create.tables">
<echo>Creating tables using: ${db.driver} ${db.url}</echo>
<sql driver="${db.driver}"
url="${db.url}"
userid="${db.username}"
password="${db.password}"
onerror="continue"
src="hsqldb/create_cars.sql">
<classpath refid="hsqldb.database" />
</sql>
</target>
<target name="load.data">
<echo>Load Data Using: ${db.driver} ${db.url}</echo>
<sql driver="${db.driver}"
url="${db.url}"
userid="${db.username}"
password="${db.password}"
onerror="continue"
src="hsqldb/load_data.sql">
<classpath refid="hsqldb.database" />
</sql>
</target>
属性:db.driver=org.hsqldb.jdbcDriver
db.url=jdbc:hsqldb:file:hsqldb/dbcars
db.username=sa
db.password=
create_tables。sql:
CREATE TABLE cars (
id INTEGER NOT NULL PRIMARY KEY,
description VARCHAR(255)
) ;
load_data。sql:
INSERT INTO cars (id, description) VALUES (1, 'first car') ;
INSERT INTO cars (id, description) VALUES (2, 'second car') ;
创建。表的目标工作,但加载。数据给出这个错误:
[sql] java.sql.SQLException: Table not found in statement [ SELECT * FROM cars]
这通常是由于与数据库的连接持续时间较短造成的。表定义没有持久化,以后也找不到。查看您可以使用的连接属性列表:
http://www.hsqldb.org/doc/2.0/guide/dbproperties-chapt.html那么试试这个:
db.driver=org.hsqldb.jdbcDriver
db.url=jdbc:hsqldb:file:hsqldb/dbcars;shutdown=true
db.username=sa
db.password=
如果它不工作,试试这个:
db.driver=org.hsqldb.jdbcDriver
db.url=jdbc:hsqldb:file:hsqldb/dbcars;hsqldb.write_delay=false
db.username=sa
db.password=