Bonjour,
J'ai compilé en 1.5 un projet qui était autrefois en 1.4. Nous avons aussi changé de serveur pour Oracle. A priori la version d oracle est toujours la même qu'auparavant.
Le bout de code suivant marche bien en 1.4 :
Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 public ModeleUserVO saveModeleUserVO(ModeleUserVO modeleUserVO, byte[] vFileDoc) { try { // final Session vHSession = // HibernateSessionFactory.mediWebCurrentSession(); Session vHSession = HibernateSessionFactory.mediWebCurrentSession(); Date dateCreation = new Date(); modeleUserVO.setDateCreation(dateCreation); // On cree un BLOB vide Blob blob = creationBlobAPartirFile(vFileDoc, vHSession); modeleUserVO.setModeleWord(blob); vHSession.save(modeleUserVO); } catch (HibernateException vE) { throw new TechnicalException(vE); } return modeleUserVO; }
Lors du passage 1.4 vers 1.5 j'ai modifié très peu de code. J'ai résolu des erreurs du a une variable appelé enum. Donc je n'ai rien changé de majeur dans le code.
En mode debug je n'ai pas d'erreur même en 1.5 ce qui rend difficile l'analyse de cette erreur. En mode release 1.5 j'ai l'erreur suivante :
fr.aphp.mediweb.exception.TechnicalException: fr.aphp.mediweb.exception.TechnicalException: java.sql.SQLException: durée non valide pour cette fonction at fr.aphp.mediweb.service.impl.ModeleBaseServiceImpl.saveModeleUserVO(ModeleBaseServiceImpl.java:142) at fr.aphp.mediweb.delegate.impl.ModeleBaseDelegateImpl.saveModeleUserVO(ModeleBaseDelegateImpl.java:168) at fr.aphp.mediweb.action.AjoutModeleServiceAction.doExecuteAvecSession(AjoutModeleServiceAction.java:95) at fr.aphp.mediweb.action.MediwebSecuredAction.doExecute(MediwebSecuredAction.java:86) at fr.aphp.mediweb.action.MediwebAction.execute(MediwebAction.java:59) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:734) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391) at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:595) Caused by: fr.aphp.mediweb.exception.TechnicalException: java.sql.SQLException: durée non valide pour cette fonction at fr.aphp.mediweb.mapping.dao.ModeleBaseDAO.creationBlobAPartirFile(ModeleBaseDAO.java:884) at fr.aphp.mediweb.mapping.dao.ModeleBaseDAO.saveModeleUserVO(ModeleBaseDAO.java:161) at fr.aphp.mediweb.metier.ModeleBase.saveModeleUserVO(ModeleBase.java:93) at fr.aphp.mediweb.service.impl.ModeleBaseServiceImpl.saveModeleUserVO(ModeleBaseServiceImpl.java:138) ... 19 more Caused by: java.sql.SQLException: durée non valide pour cette fonction at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:175) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:240) at oracle.jdbc.driver.T4C8TTIBlob.createTemporaryLob(T4C8TTIBlob.java:97) at oracle.jdbc.driver.T4CConnection.createTemporaryBlob(T4CConnection.java:1632) at oracle.sql.BLOB.createTemporary(BLOB.java:535) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.mchange.v2.c3p0.impl.NewProxyConnection.rawConnectionOperation(NewProxyConnection.java:1215) at com.mchange.v2.c3p0.dbms.OracleUtils.createTemporaryBLOB(OracleUtils.java:59) at fr.aphp.mediweb.mapping.dao.ModeleBaseDAO.creationBlobAPartirFile(ModeleBaseDAO.java:872) ... 22 more
Je suis un peu perdu avec ces erreurs. Quelqu'un a des idées ?
Merci
Partager