Informações atualizadas (2022)

Este é um artigo escrito em 2006 e publicado em guru do código , e a tecnologia usada neste artigo pode estar desatualizada. Se você está procurando um bom formatador SQL que possa ser usado em seu programa Java ou Dotnet, por favor confira esta página em vez disso. Se você está procurando um formatador de consulta SQL gratuito e fantástico, verifique o Formatador SQL instantâneo.

Introdução

O código SQL é muito mais fácil e rápido de ler e entender quando formatado, especialmente quando se trata de uma instrução SQL longa e complexa, ou quando é preciso ler o código de outras pessoas. Escrever um formatador SQL decente não é uma tarefa fácil. Neste artigo, gostaria de criar um formatador SQL online no C#. Este aplicativo consumidor envia SQL não formatado para o servidor, que retornará o SQL formatado para o aplicativo.

Usando o código

Um serviço da Web em www.gudusoft.com aceita código SQL e retorna SQL formatado. Dê uma olhada no WSDL aqui. A parte importante é mostrada abaixo; ela descreve o método beautifySql.

  Embeleze o sql 

Etapa 1: construir a classe proxy

Executando o seguinte…

C:>wsdl.exe http://www.gudusoft.com/SQLFormatterWebService.wsdl

… resulta em um arquivo C#, SQLFormatterWebService.cs, que contém uma classe chamada SQLFormatterWebService. Examine como os métodos dessa classe correspondem aos detalhados no arquivo WSDL, especialmente o seguinte método:

public string beautifySql(string dbvendor, string sql) dbvendor: dialeto SQL do banco de dados que suporta MSSQL, Oracle, MySQL e Access atualmente. sql: o código SQL precisa ser formatado.

Etapa 2: Compilar a classe proxy

Em seguida, você precisa compilar o arquivo gerado automaticamente. O arquivo não contém ponto de entrada e, portanto, precisa ser compilado como uma biblioteca.

C:>csc /t:biblioteca c:SQLFormatterWebService.cs

Isso resulta em um novo arquivo, SQLFormatterWebService.dll.

Etapa 3: Criar um aplicativo ASP.NET

Este aplicativo, sqlformatter.aspx, consome o SQL Formatter Web Service.

<%@Assembly Name="SQLFormatterWebService" %>

<html>
   <head>
      <title>Demonstração do serviço Web do SQL Formatter </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="pt"/></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>

Etapa 4: configure este aplicativo ASP.NET no seu servidor IIS

  • 4.1 Coloque o sqlformatter.aspx em wwwroot, por exemplo.
  • 4.2 Coloque o SQLFormatterWebService.dll no diretório bin em wwwroot.
  • 4.3 Abra seu navegador e digite http://localhost/sqlformatter.aspx.

Apreciá-lo!

Pontos de interesse

Este serviço web de formatador SQL pode ser amplamente utilizado, especialmente em fóruns de sites relacionados a bancos de dados, onde muitos códigos SQL serão enviados pelos usuários para discussão. Seria interessante se esse código SQL pudesse ser formatado antes de ser publicado no fórum.

Para mais informações, estes sites são úteis se você estiver interessado em um formatador SQL:

Experimente o Gudu SQLFlow Live

Versão SQLFlow Cloud

Assine o boletim semanal

Deixe um comentário