您好我使用spring进行hsqldb数据库的数据源配置。我的春豆是:
<bean id="adapterDataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<property name="url" value="jdbc:hsqldb:file:data/db/hsqldb.jar" />
<property name="username" value="lmexadapterdba" />
<property name="password" value="lmexadapterdba123#" />
</bean>
数据源中的每件事都很好,但是当我在服务器上运行我的项目时,它会给我一个错误:
java.sql.SQLException: User not found: LMEXADAPTERDBA
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
at org.hsqldb.jdbcDriver.connect(Unknown Source)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1266)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1240)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:882)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:381)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:455)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:463)
at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:471)
at com.platysgroup.lmex.controller.LoginController.processLogin(LoginController.java:72)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
但我有一个名为lmexadapterdba的用户,但小写不是大写的。 bca hsqldb将其转换为大写它不起作用。请帮我解决这个问题。
谢谢。
答案 0 :(得分:1)
在HSQLDB 2.x中,用户名和密码区分大小写。您应该使用双引号作为用户名,使用单引号进行密码定义:
CREATE USER "lmexadapterdba" PASSWORD 'lmexadapterdba123#'
如果您不使用双引号,则在创建时将用户名转换为全大写。
在HSQLDB 1.8及更早版本中,用户名不区分大小写。它在创建时被转换为全大写。