| 

.NET C# Java Javascript Exception

Table not found in statement

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


Table not found in statement

mwiemers - 16.06.2008 20:00
Hallo,

ich habe bisher noch keine Erfahrung mit Groovy bzw. Grails. Daher nehme ich an, dass das der Grund für das folgende Problem recht banal ist, zumal ich nichts zu diesem Problem in den Weiten des Internets finden konnte. Also dann:

Meine Umgebung:
- Windows Vista 32
- JDK 6 Update 6
- Grails 1.03 installiert auf C:\Entwicklung\grails-1.0.3
- JAVA_HOME, GRAILS_HOME etc. gesetzt

Problem:
Gemäß dem Quick Start Guide auf http://grails.org/Quick+Start habe ich folgende Schritte durchgeführt:
- grails create-app test
- grails create-domain-class Book
- grails generate-all Book
Die Applikation mit Domain-Class und den zugehörigen Artefakten wurde erzeugt. Book hat noch ein Attribut name erhalten.
- grails run-app
Die Applikation startet, ich gehe auf die Seite: http://localhost:8080/test, alles wunderbar. Ich betätige den Link BookController und ich erhalte folgenden Fehler. Wie kann das sein, nach den Standardeinstellungen müsste das Schema in der HSQLDB erzeugt werden. Das ist aber offensichtlich nicht der Fall.

DataSource.groovy
dataSource {
	pooled = true
	driverClassName = "org.hsqldb.jdbcDriver"
	username = "sa"
	password = ""
}
...
environments {
	development {
		dataSource {
			dbCreate = "create-drop" // one of 'create', 'create-drop','update'
			url = "jdbc:hsqldb:mem:devDB"
		}
	}
...

Hier der Fehler:
org.codehaus.groovy.runtime.InvokerInvocationException: org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute query; nested exception is org.hibernate.exception.SQLGrammarException: could not execute query

	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:92)

	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)

	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)

	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)

	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)

	at groovy.lang.Closure.call(Closure.java:292)

	at groovy.lang.Closure.call(Closure.java:287)

	at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleAction(SimpleGrailsControllerHelper.java:503)

	at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.executeAction(SimpleGrailsControllerHelper.java:394)

	at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:233)

	at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:154)

	at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsController.handleRequest(SimpleGrailsController.java:88)

	at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)

	at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:260)

	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)

	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)

	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)

	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)

	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)

	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1098)

	at org.codehaus.groovy.grails.web.servlet.filter.GrailsReloadServletFilter.doFilterInternal(GrailsReloadServletFilter.java:112)

	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)

	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)

	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)

	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)

	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)

	at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:268)

	at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)

	at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:202)

	at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:189)

	at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:117)

	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)

	at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.parsePage(GrailsPageFilter.java:123)

	at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:86)

	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)

	at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:65)

	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)

	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)

	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)

	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)

	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)

	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)

	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)

	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)

	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)

	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)

	at org.mortbay.jetty.Server.handle(Server.java:295)

	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:503)

	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:827)

	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:511)

	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:210)

	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:379)

	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:361)

	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)

Caused by: org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute query; nested exception is org.hibernate.exception.SQLGrammarException: could not execute query

	at BookController$_closure2.doCall(BookController.groovy:10)

	at BookController$_closure2.doCall(BookController.groovy)

Caused by: org.hibernate.exception.SQLGrammarException: could not execute query

	... 2 more

Caused by: java.sql.SQLException: Table not found in statement [select top ? this_.id as id0_0_, this_.version as version0_0_, this_.begin as begin0_0_, this_.end as end0_0_, this_.label as label0_0_ from book this_]

	at org.hsqldb.jdbc.Util.throwError(Unknown Source)

	at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(Unknown Source)

	at org.hsqldb.jdbc.jdbcConnection.prepareStatement(Unknown Source)

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

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

	... 2 more


Re: Table not found in statement

grailsnewcomer - 17.06.2008 14:04
Hi,
also ich hatte gestern das umgekehrte Problem.
in HSQL hat es super geklappt und sobald ich auf mysql umgestiegen bin funktionierte es nicht.

Dazu habe ich zwei Theorien:
1. Habe ich eine Domain Klasse Right benutzt, die konnte in mysql nicht erstellt werden, sobald ich sie umbenannt habe gings.
anscheinend mag mysql keine Tabelle right, warum auch immer.
2. Habe ich heute rausgefunden, dass ein Variablentyp boolean nicht auf mysql gemappt werden kann.
Warum weiss ich nicht, werde dazu noch eine Frage stellen.
Vielleicht ist es auch bei hsql so

Edit:
Ich weiss jetzt warum boolean nicht ging:
man darf als Variablennamen nicht write, read oder test benutzen.
Ich vermute mal, alle reservierten Wörter ;-)


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "Table not found in statement" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.