Je cherche à inspecter les instructions SQL dans le code Java/jdbc pour s'assurer que le SQL à exécuter est de qualité acceptable. Ni PMD, ni Findbugs ne semble avoir de règles JDBC ou sql. Je pourrais utiliser p6spy pour enregistrer le SQL et regarder de cette façon, mais c'est manuel. Je me demande si la stratégie de l'utilisation de PMD/Findbugs/etc pour créer une règle que toute chaîne passée à PreparedStatement où il y a un "=" ou "in" a seulement vars paramétrés sur le côté de la comparaison.outil pour détecter sql non-paramétré dans java code jdbc
Quelqu'un at-il fait cela? Ou fait cela par d'autres moyens?
Je ne sais pas cela peut être fait. Je considérerais l'interpolation des variables d'application comme un problème car c'est pour le refactoring avant de migrer vers un nouveau rdbms plutôt que de simplement chercher des problèmes d'injection sql. Je me penche vers la recherche de toutes les vars commençant par sql et progressant à partir de là. – sal
Hm. Je n'ai pas compris votre commentaire. Je suppose que toutes les instructions SQL de votre application Java sont stockées dans des chaînes avec des noms de variables commençant par 'sql'? Si oui, alors oui, vous devez faire une révision de code pour tous ces cas. –