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

Posted

技术标签:

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

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


    


【问题讨论】:

你确定它连接到正确的数据库吗? 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

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

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

【讨论】:

以上是关于HSQLDB:用户缺少权限或找不到对象:USERS的主要内容,如果未能解决你的问题,请参考以下文章

HSQLDB SqlTool 抛出用户缺少权限或找不到对象

SpringBoot 用户缺少权限或找不到对象 HSQLDB

Java HQL org.hsqldb.HsqlException:用户缺少权限或找不到对象

HSQLDB:java.sql.SQLSyntaxErrorException:用户缺少权限或找不到对象

Hibernate、mysql 和 Tomee - org.hsqldb.HsqlException:用户缺少权限或找不到对象

需要访问 hsqldb 静态方法但得到 java.sql.SQLSyntaxErrorException: 用户缺少权限或找不到对象