Bad SQL grammer
843859Sep 21 2005 — edited Feb 1 2007I'm using JDBC with spring and hibernate to connect to a Progress 9.1E database, when I execute a query i get the following error, stack trace:
10:21:39,984 INFO [SpringhibController] returning SpringhibController view
10:21:40,140 INFO [STDOUT] Hibernate: select country0_.CTLNAM as col_0_0_ from
XMCTRY0 country0_ where country0_.CTISO=AE
10:21:40,140 WARN [JDBCExceptionReporter] SQL Error: -20005, SQLState: 42S02
10:21:40,140 ERROR [JDBCExceptionReporter] [JDBC Progress Driver]:Table/View/Syn
onym not found (7519)
10:21:40,140 WARN [JDBCExceptionReporter] SQL Error: -20005, SQLState: 42S02
10:21:40,140 ERROR [JDBCExceptionReporter] [JDBC Progress Driver]:Table/View/Syn
onym not found (7519)
10:21:40,140 ERROR [DispatcherServlet] Could not complete request
org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: could not
execute query; bad SQL grammar [select country0_.CTLNAM as col_0_0_ from XMCTRY0
country0_ where country0_.CTISO=AE]; nested exception is java.sql.SQLException:
[JDBC Progress Driver]:Table/View/Synonym not found (7519)
java.sql.SQLException: [JDBC Progress Driver]:Table/View/Synonym not found (7519
)
at com.progress.sql.jdbc.JdbcProgress.createSQLException(JdbcProgress.ja
va:6644)
at com.progress.sql.jdbc.JdbcProgress.standardError(JdbcProgress.java:68
37)
at com.progress.sql.jdbc.JdbcProgress.SQLUTFPrepare(JdbcProgress.java:46
10)
at com.progress.sql.jdbc.JdbcProgressConnection.prepareStatement(JdbcPro
gressConnection.java:586)
at com.progress.sql.jdbc.JdbcProgressConnection.prepareStatement(JdbcPro
gressConnection.java:552)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatch
er.java:396)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatch
er.java:334)
at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatc
her.java:88)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1162)
at org.hibernate.loader.Loader.doQuery(Loader.java:390)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Lo
ader.java:218)
at org.hibernate.loader.Loader.doList(Loader.java:1593)
at org.hibernate.loader.Loader.list(Loader.java:1577)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:395)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.ja
va:271)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:844)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate
(HibernateTemplate.java:766)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(Hibernat
eTemplate.java:315)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTe
mplate.java:757)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTe
mplate.java:749)
at db.CountryManagerDaoImpl.getList(CountryManagerDaoImpl.java:38)
at bus.CountryManager.getCountries(CountryManager.java:32)
at web.SpringhibController.handleRequest(SpringhibController.java:39)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.ha
ndle(SimpleControllerHandlerAdapter.java:44)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatch
erServlet.java:684)
at org.springframework.web.servlet.DispatcherServlet.doService(Dispatche
rServlet.java:625)
at org.springframework.web.servlet.FrameworkServlet.serviceWrapper(Frame
workServlet.java:386)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServl
et.java:346)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:356
)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicati
onHandler.java:294)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:5
67)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1723)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplication
Context.java:514)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1673)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.jboss.jetty.Jetty.service(Jetty.java:459)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:783)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:945)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:800)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:
201)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:454)
I'm pretty sure that my Hibernate mapping files are correct, the statement I'm trying to execute is:
getHibernateTemplate().find("select c.DESCRIPTION from bus.Country c where c.ISOCODE=AE");
Surely this is a very basic query and should have no trouble, any help would be greatly appreciated
Thanks.