SQL Server – Como consultar e consumir feeds RSS do WordPress utilizando CLR ou xp_cmdshell (cURL)

SQL Server – Como consultar e consumir feeds RSS do WordPress utilizando CLR ou xp_cmdshell (cURL)
5 (100%) 1 voto

Olá pessoal,
Tudo bem com vocês ?

Estava assistindo o último vídeo do Fabricio Lima, onde ele escreveu sobre os blogs que ele costuma acompanhar pelo feedly, um leitor de RSS. Achei legal a ideia e resolvi criar um pequeno leitor de RSS rodando no SQL Server, utilizando o CLR ou cURL rodando com xp_cmdshell.

Neste caso, como o retorno das requisições é superior a 4.000 caracteres na maioria dos casos, não é possível fazer utilizando OLE Automation, que possui essa limitação.

Como o retorno do feed RSS é basicamente um XML, você precisará ter uma noção básica de tratamento e manipulação de strings e arquivos XML. Para isso, acesse o meu post SQL Server – Como ler, importar e exportar dados de arquivos XML.

Uma coisa que vale a pena ser citada, é que a quantidade de registros retornados por cada site é configurável, ou seja, um site por retornar os últimos 50 posts e um outro site retornar apenas os últimos 10 posts (padrão do WordPress). Entretanto, mesmo que o feed RSS seja limitado a 10 registros, é possível navegar entre as páginas do feed (veja mais abaixo).

Como consultar feeds RSS do WordPress utilizando CLR

Para realizar essa consulta utilizando o CLR (C#), basta utilizar a Stored Procedure stpWs_Requisicao, onde o código-fonte está disponível no post Realizando requisições POST e GET utilizando CLR (C#) no SQL Server.

Caso você não conheça ou queira conhecer mais sobre o SQLCLR (C#) no SQL Server, veja esses 2 links:

Como habilitar o uso do CLR na sua instância:

Visualizar código-fonte:

Como consultar feeds RSS do WordPress utilizando xp_cmdshell

Para realizar essa consulta utilizando o xp_cmdshell, vamos precisar do binário do cURL, disponível neste link.

Para que seja possível utilizar o binário do curl.exe sem precisar especificar o caminho, você deve copiá-lo para o diretório C:\Windows\System32 ou então coloque o caminho completo do curl.exe da sua máquina.

Como habilitar o uso do xp_cmdshell na sua instância:

Visualizar código-fonte:

Exemplo de uso (É o mesmo para as duas SP’s – do CLR e xp_cmdshell):

Consultando as atualizações do SQL Server

Quer ficar por dentro das atualizações do SQL Server e saber quando foi lançado algum Service Pack, Cumulative Update ou nova versão?

Conheça o blog https://blogs.msdn.microsoft.com/sqlreleaseservices e acompanhe o seu feed.

Como criar um leitor de feeds RSS no SQL Server

Agora vou demonstrar como criar um leitor de feeds RSS, de modo que ele consulte todos os posts dos sites que você quer acompanhar e lhe envie atualizações semanais com os novos posts. Você pode personalizar essa leitor à vontade, pode alterar a periodicidade dos alertas, criando uma opção de categoria e no envio do e-mail, separar os posts por categorias, etc.. Seja criativo.

Para que seja possível criar o leitor de feeds RSS abaixo, você precisará de 2 pré-requisitos:

Criação das tabelas e configuração

Código-fonte do leitor de RSS

Exemplo do e-mail enviado

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

Um abraço e até o próximo post.

SQL, sql server, sql server 2008, sql server 2008 R2, Oracle, Oracle Database, Oracle 11g, Oracle 10g, Oracle 12c, MySQL, Firebird, Consultoria, Consultor, Programador, Programação. Desenvolvedor, Analista de Sistemas, DBA, Criação de website, Criação de Sistema Web, Vitória, Vila Velha, Guarapari, Espírito Santo, ES, Consultoria SQL em VItória, Treinamento, Curso, Prestação de serviço, prestar serviço, freelancer, freela, banco de dados, consultoria em banco de dados, consultor de banco de dados

One Comment

  1. Dirceu,

    Boa Tarde,

    Muito bom o conteúdo de seu posto, esta me ajudando bastante. Mas estou com um problema que não consigo solucionar.

    Tenho varios WS SOAP para acessar e pretendo usar o SQL Server para acessa-los. A linguagem que uso para a aplicação, não tem a capacidade de acesso aos WS SOAP.

    Estou testando o CURL no Windows, quando faço acesso pela linha de comando do WS o CURL tem ser executado no mesmo diretório onde esta o XML do request. Isso esta funcionando e o resultado e o esperado.

    Meu problema é o seguinte, quando estou usando o CURL com xp_cmdshell em de uma Stored Procedure, como indico que informação do XML vou usar como request sendo que estarei no servidor de BD não tem como executa-la em uma determinado diretório.

    Agradeço muito se você poder me dar uma solução.

    Um grande abraço.

    Marcos Vinicius de Andrade

Deixe uma resposta