HSQLDB 用 ant 管理一个新的独立数据库 [Table Not Found In Statement]
Posted
技术标签:
【中文标题】HSQLDB 用 ant 管理一个新的独立数据库 [Table Not Found In Statement]【英文标题】:HSQLDB Manage a new standalone database with ant [Table Not Found In Statement] 【发布时间】:2013-03-11 21:38:21 【问题描述】:我打算使用 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') ;
create.tables 目标有效,但 load.data 给出此错误:
[sql] java.sql.SQLException: Table not found in statement [ SELECT * FROM cars]
【问题讨论】:
请在您的问题中包含相关代码。 【参考方案1】:这通常是由与数据库的短时间连接引起的。表定义没有持久化,以后也找不到了。查看可以使用的连接属性列表:
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=
【讨论】:
以上是关于HSQLDB 用 ant 管理一个新的独立数据库 [Table Not Found In Statement]的主要内容,如果未能解决你的问题,请参考以下文章