2012-06-06 4 views
2

Я не могу получить весну, чтобы инициализировать мою базу данных, хотя из того, что я вижу, я делаю это правильно. Я продолжаю получать org/springframework/dao/DataAccessResourceFailureException.Spring jdbc: initialize-database not working

Вот мой 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/ЦСИ и заключается в следующем:

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

create_products.sql также в Java Ресурсы/src и вот так: CREATE TABLE продукты ( id INTEGER NOT NULL PRIMARY KEY, описание varchar (255), цена десятичная (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); 

Любые предложения? Спасибо.

+0

Я бы порекомендовал Hibernate для выполнения этой задачи .. но если вы не можете, я думаю, что лучший совет, который я могу дать, чтобы получить log4j и сделать некоторые logging.With полную трассировку стека, может быть есть кто-то узнает, что произойдет. –

+0

Помимо инициализации вы можете получить доступ к БД? С помощью jdbc.url вам нужно запустить сервер HSQLDB отдельно, прежде чем запускать свой код. – fredt

+0

@Dave: где находится файл конфигурации пружины «springapp-servlet.xml»? – Angelika

ответ

0

Дэйв, вероятно, вы также получаете эту ошибку в своем 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 обеспечивает поддержку для инициализации существующего DataSource. Просто проверьте, есть ли версия spring-jdbc. Ref: [http://static.springsource.org/spring/docs/3.0.0.RC3/reference/html/ch12s09.html][1]

Просто откройте пружинную банку и JDBC см под: org/springframework/jdbc/datasource если вы можете увидеть любую папку по имени init .Ело init папку оленьей кожи существует, то версия Spring Framework, который вы используете, не поддерживает эту функцию ,

enter image description here