HSQLDB:用户缺少权限或找不到对象:USERS
Posted
技术标签:
【中文标题】HSQLDB:用户缺少权限或找不到对象:USERS【英文标题】:HSQLDB : user lacks privilege or object not found: USERS 【发布时间】:2016-07-21 07:40:10 【问题描述】:我正在使用HSQLDB
和Spring
。每当我尝试执行插入语句时,都会收到错误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);
【问题讨论】:
你确定它连接到正确的数据库吗? 【参考方案1】:URL,“jdbc:hsqldb:mem:。”表示在连接到它的 Java 进程中可见的内存数据库。当您从程序中单独启动 DatabaseManager 时,相同的 URL 在 DatabaseManager 的 Java 进程中创建不同的数据库。
使用 HSQLDB 服务器从两个不同的进程访问数据库。
【讨论】:
【参考方案2】:HSQLDB 具有名为 PUBLIC 的默认模式。所有 SQL 查询都将指向 PUBLIC;如果您已经创建了自己的架构,例如:OWNSCHEMA 然后编辑 xxx.script 并更改以下行
设置数据库默认初始架构公开
到
设置数据库默认初始模式 OWNSCHEMA
【讨论】:
以上是关于HSQLDB:用户缺少权限或找不到对象:USERS的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot 用户缺少权限或找不到对象 HSQLDB
Java HQL org.hsqldb.HsqlException:用户缺少权限或找不到对象
HSQLDB:java.sql.SQLSyntaxErrorException:用户缺少权限或找不到对象
Hibernate、mysql 和 Tomee - org.hsqldb.HsqlException:用户缺少权限或找不到对象
需要访问 hsqldb 静态方法但得到 java.sql.SQLSyntaxErrorException: 用户缺少权限或找不到对象