我使用标记来创建hsql模式。我的spring.xml文件如下所示:
<jdbc:embedded-database id="dataSource" type="HSQL">
<jdbc:script location="classpath:schema.sql" />
<!-- <jdbc:script location="classpath:test-data.sql" /> -->
</jdbc:embedded-database>
<bean id="adapterDataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close" depends-on="dataSource">
<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<property name="url" value="jdbc:hsqldb:file:data/db/lmex_adapter_moodle_db" />
<property name="username" value="SA" />
<property name="password" value="" />
</bean>我的sql架构文件是
create schema lmex_adapter_moodle_db AUTHORIZATION DBA;
set schema lmex_adapter_moodle_db;
drop table moodle_login_credentials if exists;
CREATE TABLE moodle_login_credentials (
moodle_login_credentials_id varchar(40) NOT NULL,
moodle_username varchar(45) NOT NULL,
moodle_password varchar(45) NOT NULL,
host_name varchar(45) DEFAULT NULL,
port_number varchar(45) DEFAULT NULL,
database_name varchar(45) DEFAULT NULL
)当我运行我的应用程序时,它没有异常地顺利运行,但是当我单击submit按钮,操作继续到具有查询select * from moodle_login_credentials的控制器上时,给出以下异常:
java.sql.SQLException:在moodle_login_credentials语句select *中找不到表
所以我如何检查我的模式文件已经被成功地创建了,如果是,那么我为什么要得到它,以及我如何能够恢复这个异常。
请帮我解决这个问题
谢谢
发布于 2011-02-23 10:22:13
由于您使用的是基于文件的HSQL,所以只需查看生成的文件:
// this file contaions all executed DDL statements
data/db/lmex_adapter_moodle_db.script
// this file contaions all executed queries
data/db/lmex_adapter_moodle_db.log (路径相对于执行目录)
https://stackoverflow.com/questions/5089111
复制相似问题