Ich versuche hsqldb-2.3.4 zu verwenden, um von Spring-Anwendung zu verbinden.HSQL Datenbank Benutzer fehlt Privileg oder Objekt nicht gefunden Fehler
habe ich Datenbank folgende Details
Type : HSQL Database Engine Standalone
Driver: org.hsqldb.jdbcDriver
URL: jdbc:hsqldb:file:mydb
UserName: SA
Password: SA
ich mit erstellt eine Tabelle ALBUM unter "MYDB" Schema
Im Frühjahr Konfigurationsdatei mit dem Namen:
<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>
Und in meine Federsteuerung mache ich jdbcTemplate.query("SELECT * FROM MYDB.ALBUM", new AlbumRowMapper());
und es gibt mir Ausnahme:
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)
Wenn ich gleiche Abfrage über SQL-Editor von hsqldb ausführen führt sie in Ordnung. Kannst du mir bitte dabei helfen?
besser, wenn Sie Ihren SQL-Skript teilen verwenden müssen, die MYDB schafft. SELECT * FROM ALBUM anstelle von SELECT * FROM MYDB.ALBUM. Das Problem könnte mit dem Benutzernamen und dem Passwort sein. Standardmäßig ist das Passwort leer mit Benutzername als "sa", Groß- und Kleinschreibung nicht beachtet. – Azim