我正在使用Hibernate 3和Spring 3.我一直在尝试填充内存数据库,我正在使用Spring这样做.当我尝试这样做时,我会感到非常沮丧,并且这个堆栈跟踪:为了节省你们一些阅读,例外是:user lacks privilege or object not fo...
我正在使用Hibernate 3和Spring 3.我一直在尝试填充内存数据库,我正在使用Spring这样做.当我尝试这样做时,我会感到非常沮丧,并且这个堆栈跟踪:为了节省你们一些阅读,例外是:
user lacks privilege or object not found: XFC_ACTIONSTARTCONDITIONTYPE
Failed to execute database script; nested exception is org.springframework.jdbc.datasource.init.ScriptStatementFailedException: Failed to execute SQL script statement at line 1 of resource class path resource [ctl_data-scrubd.sql]: INSERT INTO xfc_ActionStartConditionType (actionStartConditionTypeId,actionStartConditionTypeName) VALUES ('1','Start After Action Completed')" type="org.springframework.dao.DataAccessResourceFailureException">org.springframework.dao.DataAccessResourceFailureException: Failed to execute database script; nested exception is org.springframework.jdbc.datasource.init.ScriptStatementFailedException: Failed to execute SQL script statement at line 1 of resource class path resource [ctl_data-scrubd.sql]: INSERT INTO xfc_ActionStartConditionType (actionStartConditionTypeId,actionStartConditionTypeName) VALUES ('1','Start After Action Completed')
at org.springframework.jdbc.datasource.init.DatabasePopulatorUtils.execute(DatabasePopulatorUtils.java:57)
at org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactory.initDatabase(EmbeddedDatabaseFactory.java:136)
at org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactory.getDatabase(EmbeddedDatabaseFactory.java:111)
at org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder.build(EmbeddedDatabaseBuilder.java:113)
at com.capitaliq.loader.persistence.PersistenceHelper.setUpSessionFactory(PersistenceHelper.java:123)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)
Caused by: org.springframework.jdbc.datasource.init.ScriptStatementFailedException: Failed to execute SQL script statement at line 1 of resource class path resource [ctl_data-scrubd.sql]: INSERT INTO xfc_ActionStartConditionType (actionStartConditionTypeId,actionStartConditionTypeName) VALUES ('1','Start After Action Completed')
at org.springframework.jdbc.datasource.init.ResourceDatabasePopulator.executeSqlScript(ResourceDatabasePopulator.java:198)
at org.springframework.jdbc.datasource.init.ResourceDatabasePopulator.populate(ResourceDatabasePopulator.java:132)
at org.springframework.jdbc.datasource.init.DatabasePopulatorUtils.execute(DatabasePopulatorUtils.java:45)
Caused by: java.sql.SQLException: user lacks privilege or object not found: XFC_ACTIONSTARTCONDITIONTYPE
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCStatement.executeUpdate(Unknown Source)
at org.springframework.jdbc.datasource.init.ResourceDatabasePopulator.executeSqlScript(ResourceDatabasePopulator.java:184)
Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: XFC_ACTIONSTARTCONDITIONTYPE
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.SchemaManager.getTable(Unknown Source)
at org.hsqldb.ParserDQL.readTableName(Unknown Source)
at org.hsqldb.ParserDML.compileInsertStatement(Unknown Source)
at org.hsqldb.ParserCommand.compilePart(Unknown Source)
at org.hsqldb.ParserCommand.compileStatements(Unknown Source)
at org.hsqldb.Session.executeDirectStatement(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
我暂时想说我的问题是表格没有被创建,但我不确定.我已经遵循了关于创建数据库的所有指示,并且在阳光下的每个组合都不起作用.
这是我的context.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans default-lazy-init="true" xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/jdbc
http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd">
<tx:annotation-driven transaction-manager="transactionManager"/>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <!---->
<property name="driverClassName" value="org.hsqldb.jdbc.JDBCDriver"/>
<property name="url" value="jdbc:hsqldb:mem:mydb;create=true"/>
<property name="username" value="sa"/>
<property name="password" value=""/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="hibernate.cfg.xml.incDTD"/>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop>
<prop key="hibernate.hbm2ddl.auto">create</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.connection.shutdown">true</prop>
</props>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- <jdbc:initialize-database data-source="dataSource" enabled="#{systemProperties.INITIALIZE_DATABASE}" ignore-failures="ALL">
<jdbc:script location="classpath:ctl_data-scrubd.sql" />
</jdbc:initialize-database>-->
<bean id="dataSourceInitializer" class="org.springframework.jdbc.datasource.init.DataSourceInitializer">
<property name="dataSource" ref="dataSource"/>
<property name="databasePopulator">
<bean class="org.springframework.jdbc.datasource.init.ResourceDatabasePopulator">
<property name="sqlScriptEncoding" value="UTF-8"/>
<property name="scripts">
<list>
<value>classpath:ctl_data-scrubd.sql</value>
</list>
</property>
</bean>
</property>
</bean>
</beans>
我想要做的就是使用脚本文件来填充此数据库.不要说我的sql是错的,因为我知道事实并非如此.有人有任何想法吗?
解决方法:
粉碎这一个作为宇宙之谜;我从来没有让这个工作.只是重写了我填充表格的方式.
沃梦达教程
本文标题为:java – 从spring执行sql脚本时“用户缺少权限或对象未找到”
基础教程推荐
猜你喜欢
- Springboot JPA如何使用distinct返回对象 2022-10-24
- JSP隐含对象response实现文件下载 2023-08-03
- SpringMVC使用注解配置方式 2022-11-20
- 实例详解Java调用第三方接口方法 2023-01-09
- SpringBoot Validation快速实现数据校验的示例代码 2022-12-07
- Java 导出 CSV 文件操作详情 2023-04-17
- SpringMVC执行过程详细讲解 2023-05-08
- spring mvc rest 接口选择性加密解密详情 2023-03-21
- Java中PrintWriter使用方法介绍 2023-01-08
- Java线程池submit阻塞获取结果的实现原理详解 2023-06-23