Formateur SQL utilisant C #

J’ai besoin de créer un formateur SQL en C #. Quelqu’un pourrait-il m’indiquer des ressources sur le net? Dois-je implémenter un parsingur complet, ou existe-t-il un moyen plus simple de le faire?

Jettes un coup d’oeil à

Analyser le code SQL en C #

J’ai aussi regardé

Sql Pretty Printer

Hmm, une autre question que je trébuche beaucoup plus tard, mais au cas où cela serait utile à quelqu’un d’autre, j’ai mis en place un formateur T-SQL à code source ouvert (AGPL): http://www.architectshack.com /PoorMansTSqlFormatter.ashx

Mon approche ne comporte certainement pas d’parsing SQL complète (T-SQL est un langage très complexe, je n’évalue pas mes chances de développer et de maintenir un parsingur syntaxique complet), mot-clé. Le résultat est un arbre d’parsing partielle avec toutes les parties pertinentes pour le formatage.

Comme indiqué dans les réponses à la question liée à @astander, il existe des options commerciales pour l’parsing syntaxique SQL complète, ainsi que de nombreux générateurs d’parsingurs syntaxiques, mais pas d’parsingurs syntaxiques T-SQL ouverts complets à ma connaissance.

Créer un parsingur syntaxique pour des sélections, des mises à jour et des suppressions simples est simple: la gestion des tables dérivées et des sous-requêtes devient un peu plus difficile; puis les clauses OUTPUT, les instructions MERGE, les scripts multi-instructions, les CTE, les dizaines d’instructions DDL que T-SQL contient, etc.: cela devient compliqué.

Quand je suis dans une crise et que je dois faire quelque chose au moins “formaté”, je saute à

http://www.dpriver.com/pp/sqlformat.htm

Il existe également l’embellisseur SQL SQLinForm qui possède une API C # sur http://www.sqlinform.com.