Tôi đang cố gắng sử dụng hsqldb-2.3.4 để kết nối từ ứng dụng Mùa xuân.Người dùng cơ sở dữ liệu HSQL thiếu đặc quyền hoặc đối tượng không tìm thấy lỗi
Tôi tạo ra cơ sở dữ liệu sử dụng các chi tiết sau đây
Type : HSQL Database Engine Standalone
Driver: org.hsqldb.jdbcDriver
URL: jdbc:hsqldb:file:mydb
UserName: SA
Password: SA
Tôi tạo ra một bảng tên ALBUM dưới "MYDB" schema
Trong file cấu hình mùa xuân:
<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>
Và trong bộ điều khiển lò xo của tôi Tôi đang làm jdbcTemplate.query("SELECT * FROM MYDB.ALBUM", new AlbumRowMapper());
Và Nó mang lại cho tôi ngoại lệ:
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)
Nếu tôi thực hiện cùng một truy vấn thông qua biên tập SQL của HSQLDB nó thực hiện tốt. Bạn có thể giúp tôi với điều này không.
tốt hơn nếu bạn có thể chia sẻ kịch bản SQL của bạn mà tạo ra MYDB. CHỌN * TỪ ALBUM thay vì CHỌN * TỪ MYDB.ALBUM. Sự cố có thể xảy ra với tên người dùng và mật khẩu. Theo mặc định, mật khẩu trống với tên người dùng là "sa", không phân biệt chữ hoa chữ thường. – Azim