7
votes

Formateur SQL utilisant c #

Je dois créer un formateur SQL en C #. Quelqu'un pourrait-il me dire des ressources sur le net? Dois-je mettre en place un analyseur à part entière ou y a-t-il un moyen plus facile de le faire?


1 commentaires

Y a-t-il un moyen plus facile de le faire? Je ne peux pas le formater sans analyser?


4 Réponses :


5
votes

0 commentaires

3
votes

Quand je suis dans un crunch et que je dois faire quelque chose au moins regarder "formaté", je saute à

http://www.dpriver.com/pp/sqlformat.htm < / p>


0 commentaires

4
votes

hmm, une autre question que je suis trébuchée sur beaucoup plus tard, mais si cela est utile à quelqu'un d'autre dans la ligne, j'ai mis en place une formatrice T-SQL open-source (AGPL) : http://www.architecthack.com/poormanstsSQLformatter.ashx

Mon approche n'implique définitivement pas l'analyse complète du SQL (T-SQL est une langue très complexe, je n'ai pas évalué mes chances de développer et de maintenir un analyseur complet à la mienne), mais plutôt de la jeton, puis d'identifier des structures majeures dans le SQL, par mot-clé. Le résultat est un arbre d'analyse partielle avec toutes les pièces pertinentes de formatage décomposées.

Comme indiqué dans les réponses à la question ® ®TANDER lié, il existe des options commerciales pour une analyse complète SQL et de nombreux constructeurs d'analyseurs, mais pas d'analyseurs T-SQL open-source complets que je ne le connais.

Faire un analyseur pour des sélection simples, des mises à jour, les suppressions sont droites - la manipulation des tables dérivées et des sous-requêtes devient un peu plus difficile; Ensuite, les clauses de sortie, les instructions de fusion, les scripts multi-instructions, les CTES, les dizaines d'instructions DDL T-SQL contiennent, etc.: il devient désordonné.


3 commentaires

Cette bibliothèque a vraiment bien fonctionné pour moi, et il y a un Nuget emballé maintenant pour cela maintenant: Nuget.org/packages/poormanstsqlformatter


Je suis allé à Github, téléchargé le maître et utilisé l'application Winform.


Sachez qu'il est sous licence sous AGPL, donc si vous l'utilisez, vous devez ouvrir votre propre code.



1
votes

Il y a aussi l'embellissement SQLINORMForm SQL qui a une API C # à l'adresse www.sqlinform.com


0 commentaires