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 :

Exception sur un con.prepareStatement(sql)


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 184
    Points : 49
    Points
    49
    Par défaut Exception sur un con.prepareStatement(sql)
    Bonjour,
    je fais une boucle d'insertion dans une base oracle 10g.
    Je veux savoir s'il y a une limite sur le nombre d'appel de "prepareStatement".
    Car quand j'arrive à 94000 insertion j'ai :

    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
    java.lang.OutOfMemoryError: Java heap space
            at java.lang.String.toUpperCase(String.java:2376)
            at java.lang.String.toUpperCase(String.java:2448)
            at oracle.jdbc.driver.OracleSql.getReturnParameterCount(OracleSql.java:1744)
            at oracle.jdbc.driver.OraclePreparedStatement.initializeBinds(OraclePreparedStatement.java:1354)
            at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:1222)
            at oracle.jdbc.driver.T4CPreparedStatement.<init>(T4CPreparedStatement.java:28)
            at oracle.jdbc.driver.T4CDriverExtension.allocatePreparedStatement(T4CDriverExtension.java:68)
            at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3140)
            at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3042)
            at com.edeal.frontline.FlConnection.prepareStatement(FlConnection.java:344)
            at com.edeal.frontline.controller.actions.custom.TransfertStock.execute(TransfertStock.java:167)
            at com.edeal.frontline.controller.ControllerServlet.processAction(ControllerServlet.java:263)
            at com.edeal.frontline.controller.ControllerServlet.perform(ControllerServlet.java:196)
            at com.edeal.frontline.controller.ControllerServlet.doGet(ControllerServlet.java:108)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
            at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
            at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
            at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
            at java.lang.Thread.run(Thread.java:595)

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Je ne code pas mais de ce que j'ai cru comprendre on ne fait qu'un seul prepareStatement, et on passe les valeurs à insérer dans des variables de liaison.

    Pouvez-vous montrer le code de votre boucle ?

  3. #3
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,

    Ce n'est pas un problème d'insertion, en fait, il s'agit d'un saturation de la mémoire de la JVM, donc deux possibilités :
    - les objets tel que les connexions, preparedStatement ne sont pas bien fermé
    - la JVM est mal dimensionné

    Sans le code difficile d'en dire plus.
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [Linq to sql] Exception sur Count
    Par Arnard dans le forum Accès aux données
    Réponses: 14
    Dernier message: 27/10/2008, 15h59
  2. [Linq to sql] Exception sur Count
    Par Arnard dans le forum Linq
    Réponses: 14
    Dernier message: 27/10/2008, 15h59
  3. Exception sur Java Web Start
    Par Le Bressan dans le forum JWS
    Réponses: 5
    Dernier message: 01/02/2005, 10h52
  4. Au secours, sur les licences MS SQL Server
    Par papouAlain dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 31/10/2004, 11h27
  5. [Tomcat] Exception sur JSP
    Par Malaussene dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 10/09/2004, 08h43

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