【问题标题】:HSQLDB : user lacks privilege or object not found: USERSHSQLDB:用户缺少权限或找不到对象:USERS
【发布时间】:2016-07-21 07:40:10
【问题描述】:

我正在使用HSQLDBSpring。每当我尝试执行插入语句时,都会收到错误user lacks privilege or object not found: USERS
USERS 表 clears 存在于 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);


    }

}

【问题讨论】:

  • 你确定它连接到正确的数据库吗?

标签: java hsqldb


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    设置数据库默认初始架构公开

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-19
      • 2016-12-31
      • 1970-01-01
      • 1970-01-01
      • 2015-07-06
      • 1970-01-01
      • 1970-01-01
      • 2019-04-02
      相关资源
      最近更新 更多