簡體   English   中英

如何檢查模式是否創建 <jdbc:embedded-database> 標簽

[英]how to check schema is created or not by <jdbc:embedded-database> tag

我正在為我的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
)

當我運行我的應用程序時,它毫無例外地平穩運行,但是當我單擊“提交”按鈕並且操作進入具有查詢select * from moodle_login_credentials控制器時,出現以下異常:

java.sql.SQLException:在語句[select * from moodle_login_credentials]中找不到表

因此,如果可以的話,我如何檢查是否已成功創建我的架構文件,那么為什么我會收到此文件以及如何重新解決此異常。

請幫助我解決這個問題

謝謝

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

(路徑相對於執行目錄)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM