Laden...

SQL Statement analysieren

Erstellt von Floschi vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.376 Views
Floschi Themenstarter:in
193 Beiträge seit 2007
vor 16 Jahren
SQL Statement analysieren

verwendetes Datenbanksystem: FireBird

Hallo,

Ich bekomme eine dynamisch generierten Sql-String den ich gerne analysieren möchte.
Ich möchte diesen gerne zerlegen in seine Bestandteile um dann den Tabellennamen die Spaltennamen und die abfragewerte weiter behandeln zu können.

FRAGE: Gibt es dazu etwas in C#(.NET) ????

Danke im Vorraus

**:::{style="color: darkblue;"}If debugging is the process of removing bugs, then programming must be the process of putting them in.){darkblue}** Dijkstra
D
67 Beiträge seit 2006
vor 16 Jahren

Ich weiß grad nicht, ob es schon einen fertigen SQL Statement Parser im Framework gibt. Ich glaube mal nicht.
Darum müsstest du dir einen eigenen Parser bauen. Diesen könnte man mit Regulären Ausdrücken verwirklichen oder mit den String.Methoden wie string.IndexOf(), string.Substring(), string.PadRight() etc.

„Ich erfand den Begriff «objekt-orientiert», und ich kann sagen, dass ich dabei nicht C++ im Sinn hatte.“ Alan Kay

Floschi Themenstarter:in
193 Beiträge seit 2007
vor 16 Jahren

Danke!

(Ist ein Haufen Arbeit! X()

**:::{style="color: darkblue;"}If debugging is the process of removing bugs, then programming must be the process of putting them in.){darkblue}** Dijkstra
P
7 Beiträge seit 2007
vor 16 Jahren

Hi,

ich würde eher nicht mit indexof etc anfangen... Wenn es sauber werden soll, nimmst Du Dir einen Parsergenerator....

Google sagt zu c#, parser und sql:

http://www.antlr.org:8080/pipermail/antlr-interest/2002-November/002309.html

3.971 Beiträge seit 2006
vor 16 Jahren

An sich ist es gar nicht so schwierig...
als erstes mit Regex die jeweiligen Gruppen aufteilen (SELECT, FROM, WHERE, ORDER,GROUP,HAVING) und anschließend für jeden Block den spezifischen Aufbau (Spalten, JOINS usw)

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...