{"id":3471,"date":"2022-04-22T23:06:34","date_gmt":"2022-04-23T07:06:34","guid":{"rendered":"https:\/\/www.gudusoft.com\/?p=3471"},"modified":"2022-04-22T23:13:36","modified_gmt":"2022-04-23T07:13:36","slug":"sql-formatter-web-service","status":"publish","type":"post","link":"https:\/\/www.gudusoft.com\/pt\/servico-web-do-formatador-sql\/","title":{"rendered":"Servi\u00e7o Web Formatador SQL"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"background-color: rgba(255,255,255,0);background-position: center center;background-repeat: no-repeat;border-width: 0px 0px 0px 0px;border-color:#e8eaf0;border-style:solid;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start\" style=\"max-width:1310.4px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\" style=\"background-position:left top;background-repeat:no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;padding: 0px 0px 0px 0px;\"><div class=\"fusion-text fusion-text-1\" style=\"line-height:26px;\"><h3 class=\"wp-block-heading\">Informa\u00e7\u00f5es atualizadas (2022)<\/h3>\n<p>Este \u00e9 um artigo escrito em 2006 e publicado em <a href=\"https:\/\/www.codeguru.com\/csharp\/sql-formatter-web-service\/\" class=\"rank-math-link\">guru do c\u00f3digo<\/a> , e a tecnologia usada neste artigo pode estar desatualizada. Se voc\u00ea est\u00e1 procurando um bom formatador SQL que possa ser usado em seu programa Java ou Dotnet, por favor <a href=\"https:\/\/sqlparser.com\/features\/sql-formatter.php\" class=\"rank-math-link\">confira esta p\u00e1gina<\/a> em vez disso. Se voc\u00ea est\u00e1 procurando um formatador de consulta SQL gratuito e fant\u00e1stico, verifique o <a href=\"https:\/\/www.dpriver.com\/pp\/sqlformat.htm\" class=\"rank-math-link\">Formatador SQL instant\u00e2neo.<\/a><\/p>\n<h3 class=\"wp-block-heading\">Introdu\u00e7\u00e3o<\/h3>\n<p>O c\u00f3digo SQL \u00e9 muito mais f\u00e1cil e r\u00e1pido de ler e entender quando formatado, especialmente quando se trata de uma instru\u00e7\u00e3o SQL longa e complexa, ou quando \u00e9 preciso ler o c\u00f3digo de outras pessoas. Escrever um formatador SQL decente n\u00e3o \u00e9 uma tarefa f\u00e1cil. Neste artigo, gostaria de criar um formatador SQL online no C#. Este aplicativo consumidor envia SQL n\u00e3o formatado para o servidor, que retornar\u00e1 o SQL formatado para o aplicativo.<\/p>\n<h3 class=\"wp-block-heading\">Usando o c\u00f3digo<\/h3>\n<p>Um servi\u00e7o da Web em&nbsp;<a href=\"https:\/\/www.gudusoft.com\/pt\/\">www.gudusoft.com<\/a>&nbsp;aceita c\u00f3digo SQL e retorna SQL formatado. D\u00ea uma olhada no WSDL aqui. A parte importante \u00e9 mostrada abaixo; ela descreve o m\u00e9todo beautifySql.<\/p>\n<pre class=\"wp-block-code\"><code>  Embeleze o sql <\/code><\/pre>\n<h4 class=\"wp-block-heading\">Etapa 1: construir a classe proxy<\/h4>\n<p>Executando o seguinte\u2026<\/p>\n<pre class=\"wp-block-code\"><code>C:&gt;wsdl.exe http:\/\/www.gudusoft.com\/SQLFormatterWebService.wsdl<\/code><\/pre>\n<p>\u2026 resulta em um arquivo C#, SQLFormatterWebService.cs, que cont\u00e9m uma classe chamada SQLFormatterWebService. Examine como os m\u00e9todos dessa classe correspondem aos detalhados no arquivo WSDL, especialmente o seguinte m\u00e9todo:<\/p>\n<pre class=\"wp-block-code\"><code>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\u00f3digo SQL precisa ser formatado.<\/code><\/pre>\n<h4 class=\"wp-block-heading\">Etapa 2: Compilar a classe proxy<\/h4>\n<p>Em seguida, voc\u00ea precisa compilar o arquivo gerado automaticamente. O arquivo n\u00e3o cont\u00e9m ponto de entrada e, portanto, precisa ser compilado como uma biblioteca.<\/p>\n<pre class=\"wp-block-code\"><code>C:&gt;csc \/t:biblioteca c:SQLFormatterWebService.cs<\/code><\/pre>\n<p>Isso resulta em um novo arquivo, SQLFormatterWebService.dll.<\/p>\n<h4 class=\"wp-block-heading\">Etapa 3: Criar um aplicativo ASP.NET<\/h4>\n<p>Este aplicativo, sqlformatter.aspx, consome o SQL Formatter Web Service.<\/p>\n<pre class=\"wp-block-code\"><code>&lt;%@Assembly Name=&quot;SQLFormatterWebService&quot; %&gt;\r\n\r\n&lt;html&gt;\r\n   &lt;head&gt;\r\n      &lt;title&gt;Demonstra&ccedil;&atilde;o do servi&ccedil;o Web do SQL Formatter &lt;\/title&gt;\r\n   &lt;\/head&gt;\r\n\r\n   &lt;body&gt;\r\n    &lt;form runat=&quot;server&quot; action=&quot;&quot;&gt;\r\n          &lt;asp:textbox id=&quot;inputsql&quot; text=&quot;select f1,f2 from t1&quot;\r\n                       textmode=&quot;MultiLine&quot; rows=&quot;10&quot; columns=&quot;60&quot;\r\n                       wrap=&quot;False&quot; runat=&quot;server&quot;\/&gt;\r\n   &lt;br&gt;&lt;asp:button text=&quot; Format Code &quot; onclick=&quot;onFormat&quot;\r\n                          runat=&quot;server&quot; \/&gt;\r\n          &lt;br&gt;&lt;asp:textbox id=&quot;outputsql&quot; textmode=&quot;MultiLine&quot;\r\n                           rows=&quot;10&quot; columns=&quot;60&quot; wrap=&quot;False&quot;\r\n                           runat=&quot;server&quot;\/&gt;\r\n\r\n   &lt;input type=&quot;hidden&quot; name=&quot;trp-form-language&quot; value=&quot;pt&quot;\/&gt;&lt;\/form&gt;\r\n   &lt;\/body&gt;\r\n&lt;\/html&gt;\r\n\r\n&lt;script language=&quot;c#&quot; runat=&quot;server&quot;&gt;\r\n   void onFormat (Object sender, EventArgs e)\r\n{\r\n      SQLFormatterWebService sqlformatter =\r\n         new SQLFormatterWebService();\r\n      outputsql.Text =\r\n         sqlformatter.beautifySql(&quot;mssql&quot;,inputsql.Text);\r\n}\r\n&lt;\/script&gt;<\/code><\/pre>\n<h4 class=\"wp-block-heading\">Etapa 4: configure este aplicativo ASP.NET no seu servidor IIS<\/h4>\n<ul>\n<li>4.1 Coloque o sqlformatter.aspx em wwwroot, por exemplo.<\/li>\n<li>4.2 Coloque o SQLFormatterWebService.dll no diret\u00f3rio bin em wwwroot.<\/li>\n<li>4.3 Abra seu navegador e digite http:\/\/localhost\/sqlformatter.aspx.<\/li>\n<\/ul>\n<p>Apreci\u00e1-lo!<\/p>\n<h3 class=\"wp-block-heading\">Pontos de interesse<\/h3>\n<p>Este servi\u00e7o web de formatador SQL pode ser amplamente utilizado, especialmente em f\u00f3runs de sites relacionados a bancos de dados, onde muitos c\u00f3digos SQL ser\u00e3o enviados pelos usu\u00e1rios para discuss\u00e3o. Seria interessante se esse c\u00f3digo SQL pudesse ser formatado antes de ser publicado no f\u00f3rum.<\/p>\n<p>Para mais informa\u00e7\u00f5es, estes sites s\u00e3o \u00fateis se voc\u00ea estiver interessado em um formatador SQL:<\/p>\n<ul>\n<li>Servi\u00e7o Web Formatador SQL<\/li>\n<li><a href=\"http:\/\/www.wangz.net\/gsqlparser\/sqlpp\/sqlformat.htm\">Formatador SQL Online Gratuito<\/a><\/li>\n<li><a href=\"http:\/\/www.sqlparser.com\/\">Mecanismo de an\u00e1lise SQL usado pelo formatador SQL<\/a><\/li>\n<\/ul>\n<\/div><\/div><\/div><style type=\"text\/css\">.fusion-body .fusion-builder-column-0{width:100% !important;margin-top : 0px;margin-bottom : 0px;}.fusion-builder-column-0 > .fusion-column-wrapper {padding-top : 0px !important;padding-right : 0px !important;margin-right : 1.92%;padding-bottom : 0px !important;padding-left : 0px !important;margin-left : 1.92%;}@media only screen and (max-width:1024px) {.fusion-body .fusion-builder-column-0{width:100% !important;}.fusion-builder-column-0 > .fusion-column-wrapper {margin-right : 1.92%;margin-left : 1.92%;}}@media only screen and (max-width:640px) {.fusion-body .fusion-builder-column-0{width:100% !important;}.fusion-builder-column-0 > .fusion-column-wrapper {margin-right : 1.92%;margin-left : 1.92%;}}<\/style><\/div><style type=\"text\/css\">.fusion-body .fusion-flex-container.fusion-builder-row-1{ padding-top : 0px;margin-top : 0px;padding-right : 0px;padding-bottom : 0px;margin-bottom : 0px;padding-left : 0px;}<\/style><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/posts\/3471"}],"collection":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/comments?post=3471"}],"version-history":[{"count":4,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/posts\/3471\/revisions"}],"predecessor-version":[{"id":3475,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/posts\/3471\/revisions\/3475"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/media?parent=3471"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/categories?post=3471"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/tags?post=3471"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}