Я пытаюсь использовать hsqldb-2.3.4 для подключения из пружинного аппликатора.У пользователя базы данных HSQL отсутствует привилегия или объект не найдена ошибка
Я создал базу данных, используя следующие данные
Type : HSQL Database Engine Standalone
Driver: org.hsqldb.jdbcDriver
URL: jdbc:hsqldb:file:mydb
UserName: SA
Password: SA
Я создал таблицу с именем АЛЬБОМ под "MyDB" схемы
В файле конфигурации пружина:
<bean id="jdbcTemplate"
class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="dbcpDataSource" />
</bean>
<bean id="dbcpDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<property name="url" value="jdbc:hsqldb:file:mydb" />
<property name="username" value="SA" />
<property name="password" value="SA" />
</bean>
И мой контроллер пружины я делаю jdbcTemplate.query("SELECT * FROM MYDB.ALBUM", new AlbumRowMapper());
И это дает мне исключение:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT * FROM MYDB.ALBUM]; nested exception is java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: ALBUM
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Если я выполнить тот же запрос через SQL редактор HSQLDB он выполняет отлично. Не могли бы вы помочь мне в этом.
Лучше, если вы можете поделиться SQL скрипт, который создает MYDB. SELECT * FROM ALBUM вместо SELECT * FROM MYDB.ALBUM. Проблема может быть с именем пользователя и паролем. По умолчанию пароль пуст с именем пользователя как «sa», без учета регистра. – Azim