2013-10-26 5 views
0

grails 독립 실행 형 플러그인을 사용하여 독립 실행 형 grails 응용 프로그램을 만들었지 만 jdbc h2 예외가 발생합니다. 데이터베이스가 런타임에 생성되지 않는 것 같습니다.독립 실행 형 플러그인을 사용하여 h2 db로 독립 실행 형 Grails 응용 프로그램을 만드는 방법은 무엇입니까?

이 문제를 어떻게 해결할 수 있습니까? 여기에 데이터베이스를 생성합니다 예외

org.h2.jdbc.JdbcSQLException: Table "COMPANY" not found; SQL statement: 
select this_.id as id15_0_, this_.version as version15_0_, this_.name as name15_0_ from company this_ limit ? [42102-164] 

    at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) 

    at org.h2.message.DbException.get(DbException.java:169) 

    at org.h2.message.DbException.get(DbException.java:146) 

    at org.h2.command.Parser.readTableOrView(Parser.java:4753) 

    at org.h2.command.Parser.readTableFilter(Parser.java:1080) 

    at org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:1686) 

    at org.h2.command.Parser.parseSelectSimple(Parser.java:1793) 

    at org.h2.command.Parser.parseSelectSub(Parser.java:1680) 

    at org.h2.command.Parser.parseSelectUnion(Parser.java:1523) 

    at org.h2.command.Parser.parseSelect(Parser.java:1511) 

    at org.h2.command.Parser.parsePrepared(Parser.java:405) 

    at org.h2.command.Parser.parse(Parser.java:279) 

    at org.h2.command.Parser.parse(Parser.java:251) 

    at org.h2.command.Parser.prepareCommand(Parser.java:217) 

    at org.h2.engine.Session.prepareLocal(Session.java:415) 

    at org.h2.engine.Session.prepareCommand(Session.java:364) 

    at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1121) 

    at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:71) 

    at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:267) 

    at org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:281) 

    at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:313) 

    at grails.orm.PagedResultList.<init>(PagedResultList.java:55) 

    at com.kodigon.sensexplorer.survey.CompanyController.list(CompanyController.groovy:19) 

    at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:195) 

    at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63) 

    at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) 

    at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) 

    at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) 

    at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) 

    at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:380) 

    at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) 

    at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) 

    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 

    at java.lang.Thread.run(Thread.java:744) 

답변

1

H2

, 그것은 단지 당신이 기대하고있는 스키마를 생성되지 않을 수 있습니다. 당신은 DataSource.groovy에 당신의 URL에 다음과 같은 무언가를 추가 할 수 있습니다

url = jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000;INIT=CREATE SCHEMA IF NOT EXISTS TEST 
+0

안녕 :

INIT=CREATE SCHEMA IF NOT EXISTS TEST 

그래서 당신이 같은이있을 것이다! 귀하의 답변 주셔서 감사합니다! 내가 url = "jdbc : h2 : mem : testDb; MVCC = TRUE; LOCK_TIMEOUT = 10000; INIT = CREATE SCHEMA가 존재하지 않으면 testDb"을 사용하고 있지만 작동하지 않습니다. – Guille

관련 문제