|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre émérite
![]() ![]() Sébastien TahierInscription : octobre 2006 Messages : 705 ![]() |
bonjour à tous,
j'ai un problème important avec le pilote JDBC d'Oracle. Je parcours une table de plusieurs millions d'enregistrement et lorsque j'utilise un ResultSet de type ResultSet.TYPE_SCROLL_INSENSITIVE. Le problème existe que je sois avec un Statement ou un PreparedStatement et aussi avec un ResultSet de type ResultSet.TYPE_SCROLL_SENSITIVE. Exemple : Code :
Quelqu'un aurait il déjà été confronté au problème ? Y a t'il un moyen de le résoudre ? Merci d'avance
__________________
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. ![]() Mes Articles : Mon premier article est sur le language D |
||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : août 2006 Messages : 2 848 ![]() |
Ben tu essaies de ramener trop d'informations, donc ça pète.
Essaie de filtrer ta requête, ou alors, utilise la pagination, tu ramènes un certain nombre d'éléments à chaque itération, mais tu ne gardes jamais tout en mémoire. |
|
|
00
|
|
|
#3 |
![]() ![]() |
La réponse est dans la question. à 1k l'enregistement (borne vachement basse) il te faudra plusieurs Giga de ram pour stocker ces données.
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() "Votre génitrice tute des pédoncules au pandémonium" (le conjurateur, 1973) |
|
|
00
|
|
|
#4 | |
|
Membre émérite
![]() ![]() Sébastien TahierInscription : octobre 2006 Messages : 705 ![]() |
Merci pour vos réponse !
D'après ce que vous me dite, il est donc impossible de parcourir plusieurs millions d'enregistrements grâce à une seule requête ! Citation:
- faire une boucle correspondant à chaque pages - lancer une requête pour les enregistrement de la page - boucler sur les enregistrements de la page Et si je ne peux pas faire ça je n'est aucune autre possibilité, pour éviter que le driver n'explose la mémoire ?
__________________
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. ![]() Mes Articles : Mon premier article est sur le language D |
|
|
|
00
|
|
|
#5 |
![]() ![]() |
ce qui n'est pas possible, c'est de le faire en demandant au driver d'avoir un resultset qu'on peux explorer (TYPE_SCROLL_INSENSITIVE, CONCUR_UPDATABLE), car ça nécessite que le driver garde en mémoire au fur et à mesure ce qui arrive du serveur.
Tu peux bien sur parcourir tes millions d'enregistrement, ce que tu ne peux pas faire c'est les conserver tous en mémoire
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() "Votre génitrice tute des pédoncules au pandémonium" (le conjurateur, 1973) |
|
|
00
|
|
|
#6 |
|
Membre émérite
![]() ![]() Sébastien TahierInscription : octobre 2006 Messages : 705 ![]() |
Merci pour ces réponses !
Je vais me débrouiller différemment.
__________________
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. ![]() Mes Articles : Mon premier article est sur le language D |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com