Clique no banner para conhecer e adquirir o meu treinamento de Bancos de Dados no Azure

SQL Server 2016 – Como consultar informações de um CEP utilizando a API Bemean e a função JSON_VALUE

Visualizações: 1.693 views
Tempo de Leitura: 3 minutos

Olá pessoal!
Tudo bem com vocês ?

Neste post rápido, vou demonstrar mais uma vez o uso de procedures OLE Automation e CLR para consumir informações na Web e trazer para o nosso banco SQL Server, de forma que possamos trabalhar com essa informação conforme nossa necessidade. Desta vez, vou mostrar como consultar as informações de cidade, estado, bairro e logradouro a partir de um cep informado, o que é muito utilizado atualmente.

Como o retorno da API contém dados no formato JSON, vou utilizar a função JSON_VALUE do SQL Server 2016. Caso você queira saber muito mais sobre tratamento de strings e arquivos JSON no SQL Server 2016, acesse o meu post SQL Server 2016 – Utilizando o suporte nativo a JSON (JSON_VALUE, JSON_QUERY, OPENJSON, FOR JSON, ISJSON, JSON_MODIFY).

Esse artigo é um complemento do meu post Como consultar informações de um CEP no SQL Server, onde demonstrei como consultar dados de um CEP utilizando a API do Viacep.com.br e que retornava os dados no formato XML. Resolvi fazer um novo post demonstrando como fazer isso utilizando uma outra API e tratando os dados no formato JSON.

Consultando os dados do CEP

Para realizar essa operação, vou utilizar o ótimo serviço da página CEP Bemean para consultar as informações de CEP.

Para realizar as requisições Web pelo SQL Server, você pode utilizar a solução utilizando OLE Automation, que vou demonstrar abaixo ou utilizando a Stored Procedure stpWs_Requisicao (minha forma preferida), do SQL CLR (C#), que eu demonstrei no post Realizando requisições POST e GET utilizando CLR (C#) no SQL Server.

Consultando as informações do CEP utilizando OLE Automation

Agora vou demonstrar como realizar essa consulta utilizando OLE Automation. A rotina está preparada para ativar o recurso na instância, caso não esteja ativado e desativar novamente ao final da execução.

Visualizar código-fonte:

Exemplo de uso:

Resultado:

Consultando as informações do CEP utilizando o CLR

Agora vou demonstrar como realizar essa consulta utilizando o CLR (C#), que na minha visão, é a melhor solução, embora seja mais complexa para implementar e exija conhecimentos em uma linguagem de programação (C# ou VB).

Caso você não saiba o que é o CLR e gostaria de aprender mais sobre esse fantástico recurso que pode ser utilizado no SQL Server, veja o post Introdução ao SQL CLR (Common Language Runtime) no SQL Server. O código-fonte da procedure do CLR stpWs_Requisicao está disponível no post Realizando requisições POST e GET utilizando CLR (C#) no SQL Server.

Visualizar código-fonte:

Exemplo de uso:

Resultado:

É isso aí, pessoal!
Espero que tenham gostado desse post.

Abraço e até a próxima.