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

Persistance des données Java Discussion :

Could not toggle autocommit


Sujet :

Persistance des données Java

  1. #1
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 94
    Par défaut [Résolu]Could not toggle autocommit
    Bonjour à tous,

    J'ai le problème suivant uniquement lors de l'appel de storedprocedure:

    Hibernate 3.2.5GA
    MSSQL 2005 SP1

    hibernate config
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
     
    <hibernate-configuration>
       <session-factory>
          <property name="connection.datasource">
             java:comp/env/jdbc/crc
          </property>
          <property name="hibernate.dialect">
             org.hibernate.dialect.SQLServerDialect
          </property>
          <property name="show_sql">false</property>
          <property name="use_outer_join">true</property>
          <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
          <property name="hibernate.current_session_context_class">thread</property>
     <!-- mapping files -->
    ...
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    public class DAO {
     
       private static final Logger log = Logger.getAnonymousLogger();
     
       private static final ThreadLocal session = new ThreadLocal();
     
       private static final SessionFactory sessionFactory = new Configuration()
             .configure().buildSessionFactory();
     
       protected DAO() {
       }
     
       public static Session getSession() {
          Session session = (Session) DAO.session.get();
          if (session == null) {
             session = sessionFactory.openSession();
             DAO.session.set(session);
          }
          return session;
       }
     
       protected void begin() {
          getSession().beginTransaction();
       }
     
       protected void commit() {
          getSession().getTransaction().commit();
          }
     
       protected void rollback() {
          try {
             getSession().getTransaction().rollback();
          } catch (HibernateException e) {
             log.log(Level.WARNING, "Cannot rollback", e);
          }
          try {
             getSession().close();
          } catch (HibernateException e) {
             log.log(Level.WARNING, "Cannot close", e);
          }
          DAO.session.set(null);
       }
     
       public static void close() {
          getSession().close();
          DAO.session.set(null);
       }
     
    }
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    public class Stat_Reports_DAO extends DAO {
     
       public Stat_Reports_DAO() {
       }
     
     
       public void SP4(String p1, String p2, String p3, String p4, String p5,
             String p6) throws DAOException {
          try {
     
             //begin();
     
             Timestamp ts1 = Timestamp.valueOf(p2 + " 00:00:00.0");
             Timestamp ts2 = Timestamp.valueOf(p3 + " 00:00:00.0");
     
             CallableStatement cs = getSession().connection().prepareCall("{call Sp_Stat_IP4(?,?,?,?,?,?)}");
             cs.setString(1, p1);
             cs.setTimestamp(2, ts1);
             cs.setTimestamp(3, ts2);
             cs.setString(4, p4);
             cs.setString(5, p5);
             cs.setInt(6, Integer.parseInt(p6));
     
             cs.execute();
     
             //commit();
     
     
          } catch (SQLException e) {
             //rollback();
             throw new DAOException("SQLException : SP4 ", e);
     
          } catch (HibernateException e) {
             //rollback();
             throw new DAOException("DAOExcep : SP4 ", e);
          } finally {
             close();
          }
     
       }
    Erreurs
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
     
    2008-04-22 07:52:45 ERROR org.hibernate.transaction.JDBCTransaction:toggleAutoCommit (JDBCTransaction.java:198) (org.hibernate.transaction.JDBCTransaction) - Could not toggle autocommit
    com.microsoft.sqlserver.jdbc.SQLServerException: New request is not allowed to start because it should come with valid transaction descriptor.
       at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
       at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(Unknown Source)
       at com.microsoft.sqlserver.jdbc.TDSParser.parse(Unknown Source)
       at com.microsoft.sqlserver.jdbc.TDSParser.parse(Unknown Source)
       at com.microsoft.sqlserver.jdbc.SQLServerConnection$1ConnectionCommand.doExecute(Unknown Source)
       at com.microsoft.sqlserver.jdbc.TDSCommand.execute(Unknown Source)
       at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(Unknown Source)
       at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand(Unknown Source)
       at com.microsoft.sqlserver.jdbc.SQLServerConnection.setAutoCommit(Unknown Source)
       at com.sun.gjc.spi.base.ConnectionHolder.setAutoCommit(ConnectionHolder.java:624)
       at org.hibernate.transaction.JDBCTransaction.toggleAutoCommit(JDBCTransaction.java:194)
       at org.hibernate.transaction.JDBCTransaction.commitAndResetAutoCommit(JDBCTransaction.java:142)
       at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:115)
       at be.dzafer.hibernate.DAO.commit(DAO.java:38)
       at be.dzafer.hibernate.Stat_Reports_DAO.SP5(Stat_Reports_DAO.java:88)
       at be.dzafer.struts.action.Stat_Reports_DACT.prevReport(Stat_Reports_DACT.java:188)
       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:597)
       at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
       at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
       at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
       at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
       at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
       at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
       at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
       at be.dzafer.filter.LoginFilter.doFilter(LoginFilter.java:49)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
       at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
       at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
       at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
       at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
       at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
       at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
       at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
       at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
       at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
       at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
       at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
       at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
       at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
       at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
       at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
       at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
       at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
       at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
       at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
       at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380)
       at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
       at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    2008-04-22 07:52:45 ERROR org.hibernate.transaction.JDBCTransaction:commit (JDBCTransaction.java:124) (org.hibernate.transaction.JDBCTransaction) - JDBC commit failed
    com.microsoft.sqlserver.jdbc.SQLServerException: New request is not allowed to start because it should come with valid transaction descriptor.
       at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
       at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(Unknown Source)
       at com.microsoft.sqlserver.jdbc.TDSParser.parse(Unknown Source)
       at com.microsoft.sqlserver.jdbc.TDSParser.parse(Unknown Source)
       at com.microsoft.sqlserver.jdbc.SQLServerConnection$1ConnectionCommand.doExecute(Unknown Source)
       at com.microsoft.sqlserver.jdbc.TDSCommand.execute(Unknown Source)
       at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(Unknown Source)
       at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand(Unknown Source)
       at com.microsoft.sqlserver.jdbc.SQLServerConnection.commit(Unknown Source)
       at com.sun.gjc.spi.base.ConnectionHolder.commit(ConnectionHolder.java:228)
       at org.hibernate.transaction.JDBCTransaction.commitAndResetAutoCommit(JDBCTransaction.java:139)
       at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:115)
       at be.dzafer.hibernate.DAO.commit(DAO.java:38)
       at be.dzafer.hibernate.Stat_Reports_DAO.SP5(Stat_Reports_DAO.java:88)
       at be.dzafer.struts.action.Stat_Reports_DACT.prevReport(Stat_Reports_DACT.java:188)
       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:597)
       at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
       at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
       at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
       at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
       at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
       at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
       at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
       at be.dzafer.filter.LoginFilter.doFilter(LoginFilter.java:49)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
       at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
       at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
       at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
       at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
       at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
       at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
       at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
       at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
       at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
       at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
       at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
       at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
       at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
       at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
       at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
       at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
       at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
       at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
       at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
       at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380)
       at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
       at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    Tout aide est la bienvenue ...

  2. #2
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 94
    Par défaut
    Apparement cela fonctionne avec une version plus récente de Tomcat 5.5.26.

    La ligne begin et commit, rollback doivent rester en commentaire.

    Testé également avec Glassfish v2ur1 et v2ur2

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur : "could not create process"
    Par spéculteur dans le forum C++
    Réponses: 3
    Dernier message: 29/03/2005, 12h31
  2. [Dev-Pascal] Erreur "Unit Graph could not be compiled"
    Par marc26 dans le forum Autres IDE
    Réponses: 3
    Dernier message: 03/02/2005, 08h28
  3. [FLASH MX2004] Could not load wsdl
    Par j0hnmerrick dans le forum Flash
    Réponses: 10
    Dernier message: 19/01/2005, 10h20
  4. [CVS] Problème de commit (Could not open lock file)
    Par 1tox dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 19/10/2004, 12h22
  5. TNS:listener could not resolve SERVICE_NAME given in connect
    Par Sinclair dans le forum Administration
    Réponses: 15
    Dernier message: 20/08/2003, 18h26

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