2011-02-23 43 views
1

我正在使用標記創建我的hsql架構。我spring.xml文件看起來像這樣:如何檢查架構是否通過<jdbc:embedded-database>標記創建

<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 
) 

而我跑我的應用程序它也不例外運行平穩,但是當我點擊提交按鈕和行動繼續控制器具有查詢 select * from moodle_login_credentials給我以下異常:

值java.sql.SQLException:表在聲明中未發現 [從SELECT *個moodle_login_credentials]

所以如何我可以檢查我的模式文件已成功創建,如果是的話,爲什麼我得到這一點,我怎麼可以resolove此異常。

請幫我解決這個問題

謝謝

回答

1

由於您使用基於文件的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 

(路徑與執行目錄相關)

相關問題