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

fiaux

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

marciocamurati

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

glauber_rochab

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

Rodrigo_de_Mello

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