SQL Formatter mit C #

Ich muss einen SQL-Formatierer in C # erstellen. Könnte mich jemand auf einige Ressourcen im Netz hinweisen? Muss ich einen vollwertigen Parser implementieren, oder gibt es einen einfacheren path dazu?

Solutions Collecting From Web of "SQL Formatter mit C #"

Schau es dir an

SQL-Code in C # parsing

Auch einen Blick auf

SQL Hübscher printinger

Hmm, eine andere Frage, über die ich viel später stolpere, aber für den Fall, dass das für andere Leute auf der ganzen Linie nützlich ist, habe ich einen Open-Source (AGPL) T-SQL-Formatierer implementiert: http://www.architectshack.com /PoorMansTSqlFormatter.ashx

Mein Ansatz beinhaltet definitiv kein vollständiges SQL-Parsing (T-SQL ist eine sehr komplexe Sprache, ich bewerte nicht meine Chancen, einen vollständigen Parser selbst zu entwickeln und zu pflegen), sondern Tokenisierung und anschließende Identifizierung von Hauptstrukturen in SQL Stichwort. Das Ergebnis ist ein partieller Syntaxbaum mit allen formatierungsrelevanten Teilen.

Wie in den Antworten auf die Frage @astander erwähnt, gibt es kommerzielle Optionen für umfassende SQL-Parsing und viele Parser-Builder da draußen – aber keine vollständigen Open-Source-T-SQL-Parser als ich weiß.

Einen Parser für einfache Selects, Updates, Deletes zu erstellen, ist einfach – die Verarbeitung von abgeleiteten Tabellen und Unterabfragen wird etwas schwieriger; dann OUTPUT-Klauseln, MERGE-statementen, Multi-Statement-Skripte, CTEs, die Dutzende von DDL-statementen, die T-SQL enthält, usw.: Es wird unordentlich.

Wenn ich in einer Krise bin und etwas "formatiert" aussehen lassen muss, spring ich zu

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

Es gibt auch den SQLinForm SQL Beautifier, der eine C # API unter http://www.sqlinform.com hat