Aktualisierte Informationen (2022)
Dies ist ein Artikel aus dem Jahr 2006, der veröffentlicht wurde auf Codeguru Die in diesem Artikel verwendete Technologie ist möglicherweise veraltet. Wenn Sie einen guten SQL-Formatter suchen, der in Ihrem Java- oder .NET-Programm verwendet werden kann, wenden Sie sich bitte an [Name des Anbieters einfügen]. Diese Seite ansehen Stattdessen. Wenn Sie einen kostenlosen und gleichzeitig hervorragenden SQL-Abfrageformatierer suchen, schauen Sie sich bitte den folgenden an: Instant SQL Formatter.
Einführung
SQL-Code lässt sich deutlich einfacher und schneller lesen und verstehen, wenn er formatiert ist, insbesondere bei langen und komplexen SQL-Anweisungen oder wenn man fremden Code analysieren muss. Einen guten SQL-Formatter zu entwickeln, ist keine leichte Aufgabe. In diesem Artikel möchte ich einen Online-SQL-Formatter in C# erstellen. Die Anwendung sendet unformatierten SQL-Code an den Server, der den formatierten Code zurücksendet.
Verwendung des Codes
Ein Webdienst bei www.gudusoft.com Akzeptiert SQL-Code und gibt formatiertes SQL zurück. Die WSDL finden Sie hier. Der relevante Teil ist unten dargestellt; er beschreibt die Methode `beautifySql`.
SQL-Code formatieren
Schritt 1: Erstellen der Proxy-Klasse
Folgendes wird ausgeführt…
C:>wsdl.exe https://www.gudusoft.com/SQLFormatterWebService.wsdl
… führt zu einer C#-Datei namens SQLFormatterWebService.cs, die eine Klasse namens SQLFormatterWebService enthält. Untersuchen Sie, wie die Methoden dieser Klasse mit den in der WSDL-Datei beschriebenen Methoden übereinstimmen, insbesondere die folgende Methode:
public string beautifySql(string dbvendor, string sql) dbvendor: SQL-Dialekt der Datenbank, die aktuell MSSQL, Oracle, MySQL und Access unterstützt. sql: Zu formatierender SQL-Code.
Schritt 2: Kompilieren Sie die Proxy-Klasse
Als Nächstes müssen Sie die automatisch generierte Datei kompilieren. Die Datei enthält keinen Einstiegspunkt und muss daher als Bibliothek erstellt werden.
C:>csc /t:library c:SQLFormatterWebService.cs
Dies führt zu einer neuen Datei namens SQLFormatterWebService.dll.
Schritt 3: Erstellen Sie eine ASP.NET-Anwendung
Diese Anwendung, sqlformatter.aspx, nutzt den SQL Formatter Web Service.
<%@Assembly Name="SQLFormatterWebService" %>
<html>
<head>
<title>Demo des SQL Formatter Webdienstes </title>
</head>
<body>
<form runat="server" action="">
<asp:textbox id="inputsql" text="select f1,f2 from t1"
textmode="MultiLine" rows="10" columns="60"
wrap="False" runat="server"/>
<br><asp:button text=" Format Code " onclick="onFormat"
runat="server" />
<br><asp:textbox id="outputsql" textmode="MultiLine"
rows="10" columns="60" wrap="False"
runat="server"/>
<input type="hidden" name="trp-form-language" value="de"/></form>
</body>
</html>
<script language="c#" runat="server">
void onFormat (Object sender, EventArgs e)
{
SQLFormatterWebService sqlformatter =
new SQLFormatterWebService();
outputsql.Text =
sqlformatter.beautifySql("mssql",inputsql.Text);
}
</script>
Schritt 4: Richten Sie diese ASP.NET-Anwendung auf Ihrem IIS-Server ein.
- 4.1 Platzieren Sie die Datei sqlformatter.aspx beispielsweise unter wwwroot.
- 4.2 Legen Sie die Datei SQLFormatterWebService.dll in das Verzeichnis bin unter wwwroot.
- 4.3 Öffnen Sie Ihren Browser und geben Sie http://localhost/sqlformatter.aspx ein.
Genießen Sie es!
Sehenswürdigkeiten
Dieser SQL-Formatierungs-Webdienst ist vielseitig einsetzbar, insbesondere in den Foren von Datenbank-Websites, wo Benutzer häufig SQL-Code zur Diskussion stellen. Es wäre wünschenswert, wenn dieser SQL-Code vor dem Posten im Forum formatiert werden könnte.
Für weitere Informationen sind diese Seiten hilfreich, wenn Sie an einem SQL-Formatter interessiert sind:
- SQL Formatter-Webdienst
- Kostenloser Online-SQL-Formatter
- SQL-Parser-Engine, die vom SQL-Formatter verwendet wird