HSQLDB:用户缺少未找到的权限或对象:USERS

时间:2016-07-21 07:40:10

标签: java hsqldb

我正在使用HSQLDBSpring。每当我尝试执行insert语句时,我都会收到错误user lacks privilege or object not found: USERS
USERS表格中存在HSQLDB Database表格,但我遇到此错误。

HSQLDB Configuration

<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

2 个答案:

答案 0 :(得分:0)

网址“jdbc:hsqldb:mem:。”表示在Java进程中可见的内存数据库,该数据库连接到该数据库。当您从程序中单独启动DatabaseManager时,相同的URL会在DatabaseManager的Java proecess中创建不同的数据库。

使用HSQLDB服务器从两个不同的进程访问数据库。

答案 1 :(得分:0)

HSQLDB具有名为PUBLIC的默认架构。所有SQL查询都将指向PUBLIC;如果您已创建自己的架构,例如: OWNSCHEMA ,则编辑xxx.script并更改以下行

设置数据库默认初始模式公众

设置数据库默认初始模式OWNSCHEMA