Maison >base de données >tutoriel mysql >Pourquoi ma requête Oracle génère-t-elle une erreur « java.sql.SQLException : jeu de résultats épuisé » ?

Pourquoi ma requête Oracle génère-t-elle une erreur « java.sql.SQLException : jeu de résultats épuisé » ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-05 04:25:411034parcourir

Why Does My Oracle Query Throw a

Dépannage de « java.sql.SQLException : jeu de résultats épuisé » lors de l'exécution d'une requête Oracle

Lors de la tentative d'exécution d'une requête sur une base de données Oracle à partir d'un pool de connexions Websphere, un message d'erreur indiquant « java.sql.SQLException : épuisé ResultSet » peut apparaître. Cette erreur se produit généralement lorsque vous essayez d'accéder à une valeur de colonne après le traitement de l'ensemble de résultats.

L'extrait de code Java fourni illustre le problème :

if (rs != null) {
  while (rs.next()) {
    count = rs.getInt(1);
  }
  count = rs.getInt(1); //this will throw Exhausted resultset
}

Lors de l'accès à une valeur de colonne après l'ensemble de résultats est terminé, cet extrait de code récupère la valeur avec succès lors de la première itération (lorsque count = rs.getInt(1)) mais échoue dans les itérations suivantes, ce qui entraîne l'erreur Erreur « Ensemble de résultats épuisé ».

Pour résoudre ce problème, assurez-vous que toutes les valeurs de colonne sont accessibles dans la boucle qui traite l'ensemble de résultats :

if (rs != null) {
  while (rs.next()) {
    count = rs.getInt(1);
    // Add additional code here to access other column values
  }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn