Could not execute query

7 respostas
F

Estou com uma aplicação de uploads e quando eu carrego o primeiro arquivo a query é executada com sucesso, porém, qndo rodo ela pela segunda vez com o mesmo arquivo elá dá erro.

Eu gostaria que esse segundo arquivo fosse carregado acrescentando o número sequencial ex: texto1, testo2 e assim sucessivamente.

StringBuilder query = new StringBuilder("SELECT tb_upload.upl_des_caminho FROM gerenciador.tb_upload WHERE tb_upload.upl_des_caminho = " + “’” + path + “’”);

Query query1 = this.getSession().createSQLQuery(query.toString());

lista = query1.list();

o erro ocorre na linha acima em negrito e o erro que aparece é esse:

org.vraptor.LogicException: org.hibernate.exception.SQLGrammarException: could not execute query

at org.vraptor.component.DefaultLogicMethod.execute(DefaultLogicMethod.java:124)

at org.vraptor.interceptor.ExecuteLogicInterceptor.intercept(ExecuteLogicInterceptor.java:37)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.interceptor.SettingAndValidationInterceptor.intercept(SettingAndValidationInterceptor.java:131)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.interceptor.InjectionInterceptor.intercept(InjectionInterceptor.java:41)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.interceptor.ComponentLookupInterceptor.intercept(ComponentLookupInterceptor.java:58)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at br.com.compos.gerenciador.interceptor.DaoInterceptor.intercept(DaoInterceptor.java:18)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at br.com.compos.gerenciador.interceptor.AutorizationInterceptor.intercept(AutorizationInterceptor.java:32)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.interceptor.FlashScopeInterceptor.intercept(FlashScopeInterceptor.java:22)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.interceptor.RegisterAttributesInteceptor.intercept(RegisterAttributesInteceptor.java:38)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.core.VRaptorExecution.execute(VRaptorExecution.java:90)

at org.vraptor.core.DefaultController.execute(DefaultController.java:42)

at org.vraptor.VRaptorServlet.service(VRaptorServlet.java:70)

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

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

at java.lang.Thread.run(Unknown Source)

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

at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)

at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)

at org.hibernate.loader.Loader.doList(Loader.java:2223)

at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)

at org.hibernate.loader.Loader.list(Loader.java:2099)

at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)

at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)

at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)

at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)

at br.com.compos.gerenciador.dao.UploadDao.verificaUpload(UploadDao.java:103)

at br.com.compos.gerenciador.negocio.UploadNegocio.uploadArquivo(UploadNegocio.java:36)

at br.com.compos.gerenciador.logic.UploadLogic.salvar(UploadLogic.java:54)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.vraptor.component.DefaultLogicMethod.execute(DefaultLogicMethod.java:117)

 32 more

7 Respostas

F

Sua query está sendo formada errada, provavelmente falta alguma aspa. Use prepared statement.

M

Realmente pode ser alguma problema na sua querie, de qualquer forma uma boa prática seria:

StringBuilder query = new StringBuilder("SELECT tb_upload.upl_des_caminho FROM gerenciador.tb_upload WHERE tb_upload.upl_des_caminho = :path");
Query query1 = this.getSession().createSQLQuery(query.toString());
query1.setString("path", path);
lista = query1.list();

[]s

F

Não adianta… já utilizei essas duas maneiras e nada…

o problema [e que a primeira vez que faço meu upload ele funciona normalmente, só qndo faço o upload pela segunda vez é que ele dá pau…

:frowning:

[]'s

G

Cara,

geralmente quando erros deste tipo acontecem comigo, da primeira funfa e na segunda vez nao funfa, nao eh problema da query, do java nada nao… eh problema da minha lógica mesmo…

Talvez seja interessante vc repensar o que está fazendo que aih entao poderá ter a solução (é o que eu faço nestes casos).

Flw

F

Valeu a todos pela ajuda, tentarei resolver e caso aconteça colocarei as respostas pra vocês aqui…

abraços a todos

R

Fampinho,

Post parte e/ou seu código para verificarmos. Fica mais ‘fácil’ de ajudar.

Abs,

F

Galera,

não consegui resolver daquele jeito mas mudei toda minha lógica e consegui soluciuonar o problema…
muito obrigado a todos que tentarem me ajudar.

[]'s

Criado 12 de setembro de 2008
Ultima resposta 17 de set. de 2008
Respostas 7
Participantes 5