Próbuję użyć hsqldb-2.3.4, aby połączyć się ze Spring applicastion.Użytkownik bazy danych HSQL nie ma uprawnień lub obiektu nie znaleziono błąd
stworzyłem bazę danych przy użyciu następujących danych
Type : HSQL Database Engine Standalone
Driver: org.hsqldb.jdbcDriver
URL: jdbc:hsqldb:file:mydb
UserName: SA
Password: SA
Stworzyłem tabelę o nazwie ALBUM pod "mydb" schematu
W pliku konfiguracyjnym wiosna:
<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>
I mój kontroler wiosny robię jdbcTemplate.query("SELECT * FROM MYDB.ALBUM", new AlbumRowMapper());
i to daje mi wyjątek:
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)
Gdybym wykonać samo zapytanie za pośrednictwem edytora SQL z HSQLDB to wykonuje dobrze. Czy możesz mi pomóc z tym.
lepiej, jeśli można udostępnić skrypt SQL, który tworzy MojaBD. SELECT * FROM ALBUM zamiast SELECT * FROM MYDB.ALBUM. Problem może dotyczyć nazwy użytkownika i hasła. Domyślnie hasło jest puste przy nazwie użytkownika jako "sa", wielkość liter nie jest zależna. – Azim