2016-07-21 21 views
0

私はSpringとともにHSQLDBを使用しています。私がinsert文を実行しようとすると、エラーuser lacks privilege or object not found: USERSが出ます。
USERSの表は、まだ私は、このエラーに遭遇していますHSQLDB Databaseに存在してクリアします。

HSQLDB ConfigurationHSQLDB:ユーザーが権限を持たないか、オブジェクトが見つかりません:USERS

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName" value="org.hsqldb.jdbcDriver"/> 
    <property name="url" value="jdbc:hsqldb:mem:."/> 
    <property name="username" value="SA"/> 
    <property name="password" value=""/> 
    </bean> 



OffersDAO.java

public class OffersDAO { 

    private JdbcTemplate jdbcTemplate; 

    @Autowired 
    public void setDataSource(DataSource dataSource) { 
     this.jdbcTemplate = new JdbcTemplate(dataSource); 
    } 

    public void addUser(String email, String password) { 

     String sql = "INSERT INTO USERS(EMAIL, PASSWORD) VALUES(?, ?)"; 

     jdbcTemplate.update(sql, email, password); 

     System.out.println("ADDED USER : " + email + " , " + password); 


    } 

} 

enter image description here

+0

あなたは必ずその右のデータベースに接続していますか? – Babel

+0

はい!確信してます。 –

答えて

0

URL、 "JDBC:HSQLDB:MEM:。"接続するJavaプロセス内で可視であるインメモリ・データベースを意味します。プログラムとは別にDatabaseManagerを起動すると、同じURLがDatabaseManagerのJavaプロジエクト内に別のデータベースを作成します。

2つの異なるプロセスからデータベースにアクセスするためにHSQLDBサーバーを使用してください。

0

HSQLDBは​​PUBLICと呼ばれるデフォルトのスキーマを持っています。すべてのSQL照会はPUBLICを指します。あなたが例えばのように、独自のスキーマを作成した場合:OWNSCHEMAはその後xxx.scriptを編集して

SET DATABASEのデフォルトの初期スキーマPUBLIC

DATABASEのデフォルトの初期スキーマOWNSCHEMA

SET

に次の行を変更します
関連する問題