Actuellement j'utilise statement.executeQuery(qStr)
en Java pour sélectionner une grande quantité de données de mysql. Malheureusement, Java manque de mémoire à l'instruction statement.executeQuery(qStr)
avec l'exception java.lang.OutOfMemoryError: Java heap space
. Je me demande s'il existe une méthode pour diffuser les données de chargement de mysql. Alors que je peux gérer le tronc de données sélectionné par tronc pour éviter de manquer de mémoire?Puis-je charger le tronc de données mysql par le tronc dans java?
Notez que: J'utilise eclipse et ce post me montre comment augmenter la mémoire de tas pour java à utiliser dans eclipse. Mais après avoir suivi sa méthode, je suis toujours confronté au même problème.
Merci d'avance.
Merci les gars pour vos réponses. Je l'ai essayé mais sort avec une autre exception: "com.mysql.jdbc.RowDataDynamic $ OperationNotSupportedException: opération non prise en charge pour l'ensemble de résultats de diffusion". J'utilise mysql-connector-java-5.1.13-bin.jar. En outre, si j'ai remplacé Integer.MIN_VALUE par un nombre spécifique 100. Ensuite, l'exception de mémoire hors pile s'affiche toujours. Une idée? Merci. – Ken
Integer.MIN_VALUE est spécial dans mysql, le paramétrer sur n'importe quoi d'autre donne le comportement par défaut. Je ne sais pas où vous obtenez cette exception - alors postez le code où cela arrive. – nos
Merci nos, j'essayais d'extraire le code relavent passé ici, puis j'ai trouvé la source du problème. c'est le problème d'appeler le resultSet.getRow() ...... Ok .. c'est pour m'aider .. j'apprécie pour votre aide. Merci. – Ken