Validation de la requête à l'aide de c #
Je suis à la recherche pour une requête validateur en c# qui me permet d'analyser le Texte SQL de zone de texte et de vérifier si son correct ou pas avant de l'envoyer pour l'exécution. (MS SQL ou des requêtes DB2).
source d'informationauteur Cannon
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez valider la syntaxe SQL sans l'utilisation d'une base de données, le
TSql100Parser
classe fera bien de cette situation.Avertissement, code emprunté à partir de ce post ici Code pour valider les Scripts SQL
Assez simple à utiliser. Si elle renvoie la valeur null, alors il n'y a pas d'erreur dans l'analyse.
définir votre requête sql avec cette astuce
set PARSEONLY sur
il vérifie simplement votre requête et retourne
comme ce
set PARSEONLY sur
select * from tablea
renvoie aucune exception
ET
set PARSEONLY sur
sélectionnez * f rom tablea
retourne
Msg 102, Niveau 15, État 1, Ligne 2
Syntaxe incorrecte près de 'f'.
Si vous souhaitez valider et analyser simplement une instruction SELECT, indépendamment de la façon dont "lourds" que l'instruction select est, j'ai trouvé que le meilleur et le plus rapide pour valider une instruction select est la suivante:
- dans votre code créer 2 sélectionnez consolidés (chaînes de caractères) tels que:
1) la validité de Votre instruction select:
SELECT * FROM HUGE_TABLE JOIN MULTIPLE_TABLES WHERE <<Condition>>
2) Créez une instruction select semblable comme
SELECT TOP 1 * FROM HUGE_TABLE JOIN MULTIPLE_TABLES WHERE <<Condition>>
- Analyser/Valider le deuxième, quel que soit le nombre de jointures que vous avez là, il va l'analyser en millisecondes, tels que:
Espère que cela aide! Cheers!
Je pense que c'est ce que vous cherchez. http://www.codeproject.com/KB/database/sqlvalidator.aspx