Veuillez vous assurer que votre code récupère toujours tous les résultats du ResultSet et assurez-vous que ResultSet et PreparedStatement sont toujours fermés() d. Si vous n'assurez pas ces choses, il est possible qu'un curseur ne soit pas automatiquement fermé dans DB2.
Dans votre cas, une connexion à la base de données est renvoyée au pool de connexions, mais toutes les ressources n'ont pas été libérées correctement. Lorsque la même instruction SQL est préparée à nouveau en utilisant la même connexion, vous obtenez l'erreur en question. S'il s'agit de votre code personnalisé, je vous recommande d'utiliser PMD et FindBugs de manière intensive pendant le développement car ils avertissent avec avidité de ne pas fermer toutes les ressources.
Utilisez-vous des pools de connexions? Pouvez-vous poster le code sur lequel cela échoue? – JoseK
Oui, j'utilise le regroupement de connexions. Mais désolé, je ne peux pas partager le morceau de code. –
** Si vous dites désolé de partager du code, nous ne pouvons pas faire de magie noire pour vous. ** –