2

我无法让 spring 初始化我的数据库,尽管据我所见,我做对了。我不断收到 org/springframework/dao/DataAccessResourceFailureException。

这是我的 springapp-servlet.xml:

 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="${jdbc.driverClassName}"/>
    <property name="url" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
</bean>



<jdbc:initialize-database data-source="dataSource" ignore-failures="DROPS">
<jdbc:script location="classpath:create_products.sql" />
<jdbc:script location="classpath:load_data.sql" />
 </jdbc:initialize-database>

jdbc.properties 文件位于 Java Resources/src 中,是这样的:

 jdbc.driverClassName=org.hsqldb.jdbcDriver
 jdbc.url=jdbc:hsqldb:hsql://localhost
 jdbc.username=sa
 jdbc.password=

create_products.sql 也在 Java Resources/src 中,它是:CREATE TABLE products (id INTEGER NOT NULL PRIMARY KEY, description varchar(255), price decimal(15,2));

load_data.sql 位于同一位置,是这样的:

INSERT INTO products (id, description, price) values(1, 'Lamp', 5.78);
INSERT INTO products (id, description, price) values(2, 'Table', 75.29);
INSERT INTO products (id, description, price) values(3, 'Chair', 22.81);

有什么建议么?谢谢。

4

1 回答 1

0

Dave 可能您的 springapp-servlet.xml 中也出现此错误cvc-complex-type.2.4.b: The content of element 'jdbc:initialize-database' is not complete. One of '{"http://www.springframework.org/schema/jdbc":script}' is expected.

org.springframework.jdbc.datasource.init 包提供对初始化现有数据源的支持。只需检查您的 spring-jdbc 版本。参考:[http://static.springsource.org/spring/docs/3.0.0.RC3/reference/html/ch12s09.html][1]

只需打开 spring-jdbc jar 并查看下:org/springframework/jdbc/datasource如果您可以按名称看到任何文件夹init。如果init文件夹不存在,那么您使用的 Spring Framework 版本不支持此功能。

在此处输入图像描述

于 2013-05-15T22:10:04.037 回答