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

SQL Server – Como consultar os feriados nacionais, estaduais, municipais e facultativos de uma API utilizando OLE Automation e CLR (C#)

Post Views 4,716 views
Reading time 3 minutes

Olá pessoal,
Boa tarde!

Neste post, vou seguir a dica de um leitor e utilizar a excelente API gratuita do site Calendario.com.br para retornar a listagem de feriados nacionais, estaduais, municipais e facultativos do Brasil, permitindo filtrar por ano, estado e/ou cidade. Eu já havia comentado sobre este assunto no post How to create a table with holidays (national, state and mobile) in SQL Server, mas acho que esse post vai trazer mais uma forma de se realizar essa tarefa.

Acredito que a solução deste post é mais completa que a do meu post anterior de feriados, por ter até os feriados municipais e facultativos. Entretanto, cada consulta gera uma requisição HTTP, o que aplicado para uma lista grande de cidades/anos, poderia demorar vários segundos, enquanto a solução do outro post já calcula e armazena todos os dados em uma tabela, o que não impede que isso seja feito também com a solução via API.

Para saber mais sobre o recurso OLE Automation, clique neste link.

Utilizando OLE Automation

A forma mais rápida de implementar isso, é utilizando o objeto MSXML2.ServerXMLHTTP do OLE Automation, que permite realizar requisições XML através do protocolo HTTP.

Como já havia comentado em outros posts, por motivos de segurança e estabilidade do ambiente, NÃO recomendo a ativação e utilização do recurso OLE Automation, mas quis demonstrar aqui uma solução de como utilizar esse poderoso, mas perigoso, recurso do banco de dados.

Visualizar código-fonte

Exemplo de uso:
sql-server-como-gerar-uma-tabela-de-feriados-nacionais-municipais-estaduais-com-api-ole-automation

Utilizando o SQL CLR (C#)

Já velho conhecido aqui das postagens do blog, o CLR permite utilizar código C# ou VB.NET do .NET Framework dentro do banco de dados SQL Server, e assim, obter novos recursos e estender a capacidade do banco de dados.

Se você não conhece o CLR, ou não sabe como funciona e o que é, acesse este link.

Visualizar código-fonte

sql-server-como-listar-os-feriados-nacionais-estaduais-e-municipais-no-clr

And that's it, folks!
Obrigado pela visita, espero que tenham gostado e até o próximo post.