J'ai une méthode en Java avec la signature de méthode suivante:
private static ResultSet runSQLResultSet(String sql, Object... queryParams)
L'ouverture d'une connexion, construit un PreparedStatement
à l'aide de l'instruction sql et les paramètres de l' queryParams
de longueur variable tableau, l'exécute, met l' ResultSet
(en CachedRowSetImpl
), ferme la connexion, et retourne le jeu de résultats du cache.
J'ai la manipulation d'exception dans la méthode qui enregistre les erreurs. J'journal de l'instruction sql en tant que partie du journal, car il est très utile pour le débogage. Mon problème est que l'enregistrement de la variable de Chaîne sql
journaux le modèle de déclaration ?'s au lieu des valeurs réelles. Je veux ouvrir une session le réel instruction a été exécutée (ou essayé de l'exécuter).
Alors... Est-il possible d'obtenir le véritable instruction SQL qui sera exécutée par un PreparedStatement
? (Sans le construire moi-même. Si je ne peux pas trouver un moyen d'accéder à l' PreparedStatement's
SQL, je vais probablement jusqu'à la fin de la construire moi-même dans mes catch
es.)