IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Erreur avec createTemporaryBLOB : Attempted to convert SQLException to SQLException. Leaving it alone


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Battosaiii
    Invité(e)
    Par défaut Erreur avec createTemporaryBLOB : Attempted to convert SQLException to SQLException. Leaving it alone
    Bonjour,

    En mode debug sur mon serveur tomcat local(mode DEBUG) je n'ai pas d'erreur avec la fonction suivante. En revanche lorsque j utilise un serveur distant oracle j'ai une erreur avec ce code :

    Code : 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
     
    private Blob creationBlobAPartirFile(byte[] vFileDoc, Session vHSession) {
    		BLOB blob;
    		try {
    			blob = OracleUtils.createTemporaryBLOB(vHSession.connection(), false, BLOB.DURATION_CALL);
    			blob.open(BLOB.MODE_READWRITE);
    			try {
    				OutputStream os = blob.getBinaryOutputStream();
    				os.write(vFileDoc);
    				os.flush();
    				os.close();
    			} catch (IOException e) {
    				throw new TechnicalException(e);
    			}
     
    		} catch (SQLException e) {
    			throw new TechnicalException(e); // exception
    		}
    		return blob;
    	}

    Voici l'erreur complète :


    DEBUG 2012-02-28 19:04:35,945 (SqlUtils.java:83) com.mchange.v2.sql.SqlUtils - Attempted to convert SQLException to SQLException. Leaving it alone. [SQLState: null; errorCode: 17158]
    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:877)
    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)
    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)
    DE


    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
    OracleUtils.createTemporaryBLOB(vHSession.connection(), false, BLOB.DURATION_CALL); en est le responsable mais je ne sais pas pourquoi d'un serveur à l'autre j'ai ce problème.

    Merci
    Dernière modification par Battosaiii ; 28/02/2012 à 17h33.

  2. #2
    Battosaiii
    Invité(e)
    Par défaut
    Bonjour,

    J'ai résolu mon problème en modifiant le code de cette façon :


    blob = OracleUtils.createTemporaryBLOB(vHSession.connection(), false, BLOB.DURATION_SESSION);

    Je ne sais pas pourquoi il faut changer cette valeur en temps DURATION_SESSION.

Discussions similaires

  1. Erreur avec procédure LockWorkStation ...
    Par simonseztech dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/08/2004, 15h33
  2. [Débutant][Conception] Erreur avec une classe interne
    Par Devil Redneck dans le forum Général Java
    Réponses: 5
    Dernier message: 11/06/2004, 15h45
  3. Erreur avec les ADO
    Par megane dans le forum Bases de données
    Réponses: 7
    Dernier message: 08/03/2004, 21h37
  4. Erreur avec WM_COMMAND (BN_CLICKED)
    Par cyberlewis dans le forum Windows
    Réponses: 2
    Dernier message: 09/02/2004, 00h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo