Sto tentando di utilizzare hsqldb-2.3.4 per connettersi dall'applicazione Spring.L'utente del database HSQL non ha il privilegio o l'errore dell'oggetto non trovato
ho creato banca dati utilizzando i seguenti dati
Type : HSQL Database Engine Standalone
Driver: org.hsqldb.jdbcDriver
URL: jdbc:hsqldb:file:mydb
UserName: SA
Password: SA
ho creato una tabella denominata ALBUM sotto "MYDB" schema
Nel file di configurazione di primavera:
<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>
E in il mio controller di primavera che sto facendo jdbcTemplate.query("SELECT * FROM MYDB.ALBUM", new AlbumRowMapper());
e mi dà eccezione:
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)
Se eseguo stessa query tramite SQL editor di hsqldb esegue bene. Puoi per favore aiutarmi con questo.
Meglio se è possibile condividere lo script SQL che crea MYDB. SELEZIONA * DA ALBUM anziché SELECT * DA MYDB.ALBUM. Il problema potrebbe essere con nome utente e password. Di default la password è vuota con username come "sa", case insensitive. – Azim