Toutes les bibliothèques Java qui valident la syntaxe SQL?
Je ne sais pas si cela existe ou pas, alors j'ai pensé que je voudrais appuyez sur la sagesse des autres..
Je me demandais si il existe des bibliothèques Java qui peuvent être utilisés pour valider la requête SQL de la syntaxe. Je sais qu'il y a de nombreuses déviations de la commune SQL spec, de sorte qu'il serait probablement seulement quelque chose comme SQL:2006, mais qui aurait certainement suffit.
Mon but est de l'utiliser pour les tests unitaires, sans avoir besoin de tenter l'exécution à l'encontre de la DB. Je sais que c'est limité, mais il serait toujours utile.
Merci!
source d'informationauteur awied
Vous devez vous connecter pour publier un commentaire.
Je ne pense pas qu'il existe de telles bibliothèques. La syntaxe SQL a aussi de nombreux produits dérivés.
Une solution possible serait d'utiliser des parties de l'open source pure Java SGBD comme SmallSQL. Dans ce projet, vous pouvez créer une instance de la SQLParser. Le besoin de références pour la connexion peut être enlevé très facilement.
Peut-être vous pouvez utiliser Antlr, il a un certain nombre de SQL grammaires et un Bibliothèque Javaainsi que des plugins pour diverses Java IDEs.
Ou comme conseillé, utilisez l'analyseur de l'open source, SQL services publics, comme les SQuirreL SQL Client.
Général Analyseur SQL peut faire en mode hors connexion vérification de la syntaxe SQL. Pris en charge les bases de données: Oracle, DB2, MySQL, SQL Server, Teradata et PostgreSQL.
Essayer JSQL analyseur.
En plus de la validation, vous obtenez une représentation significative de la requête.
Cela vous permet, par exemple, pour n'accepter que "certains" des commandes; manipuler
la requête, "embellir", etc.
SQL4J est un SQL-analyseur écrit en Java.
http://www.cs.toronto.edu/~jglu/sql4j/index.htm
Avec JOOQ vous ne fera jamais d'erreur dans SQL. Compilateur Java prendra soin de cela.
Vous pourriez être en mesure d'extraire le code d'analyse de HSQLqui est open source et java.
Apache Derby est un open source de base de données SQL mis en œuvre entièrement en Java et disponible sous la Apache Licence, Version 2.0. Il était autrefois connu comme IBM Cloudscape.
Vous pouvez essayer de réutiliser du code d'analyse de
org.apache.derby.impl.sql
.