Pular para o conteúdo principal

Extração Via Banco de Dados

Configurando Provedor de Dados para Extração Via Banco de Dados


Ao selecionar a opção "Via Banco de Dados" no campo "Forma de Extração" é carregada a seção "Configurações - Extração via Banco de Dados" onde é possível informar o SGBD (SQLite, PostgreSQL, MySQl, SQL Server) e as configurações de host, porta, nome e as credenciais de acesso ao banco de dados.

Provedor Banco de Dados

Configurando a Extração de Variável via Banco de Dados

Ao selecionar um provedor de dados configurado como "Via Banco de Dados", é carregada a seção "Configuração da Extração via Banco de Dados" onde deverá ser inserida a consulta SQL que retornará o valor para a variável durante a execução da extração dos dados.

Variável BD Para a construção das Consultas SQL, o DataExtractor possibilita a utilização das seguintes variáveis coringa: #ANO_CORRENTE#, #MES_CORRENTE#, #DIA_CORRENTE# e/ou #DATA_CORRENTE#. Essas variáveis retornam os seguintes valores:

VariávelValor Retornado
#ANO_CORRENTE#22
#MES_CORRENTE#04
#DIA_CORRENTE#2
#DATA_CORRENTE#2022-04-02

A seguir, é demonstrado um exemplo de consulta SQL usando as variáveis citadas anteriormente:


SELECT COUNT("edu_matriculaperiodo"."aluno_id") FROM "edu_matriculaperiodo" INNER JOIN "edu_aluno"
ON ("edu_matriculaperiodo"."aluno_id" = "edu_aluno"."id") INNER JOIN "comum_ano" ON ("edu_matriculaperiodo"."ano_letivo_id" = "comum_ano"."id")
WHERE ((NOT (EXISTS(SELECT (1) AS "a" FROM "edu_turmaminicurso_participantes" U2
INNER JOIN "edu_turmaminicurso" U3 ON (U2."turmaminicurso_id" = U3."id")
WHERE (NOT U3."gerar_matricula" AND U2."aluno_id" = "edu_matriculaperiodo"."aluno_id") LIMIT 1)
AND "comum_ano"."ano" = #ANO_CORRENTE#) AND "comum_ano"."ano" = #ANO_CORRENTE# AND "edu_matriculaperiodo"."periodo_letivo" = 2)
OR (NOT (EXISTS(SELECT (1) AS "a" FROM "edu_turmaminicurso_participantes" U2
INNER JOIN "edu_turmaminicurso" U3 ON (U2."turmaminicurso_id" = U3."id")
WHERE (NOT U3."gerar_matricula" AND U2."aluno_id" = "edu_matriculaperiodo"."aluno_id") LIMIT 1)
AND "comum_ano"."ano" = #ANO_CORRENTE#) AND "comum_ano"."ano" = #ANO_CORRENTE# AND "edu_matriculaperiodo"."periodo_letivo" = 1
AND NOT ("edu_matriculaperiodo"."aluno_id"
IN (SELECT V0."aluno_id" FROM "edu_matriculaperiodo" V0 INNER JOIN "comum_ano" V2 ON (V0."ano_letivo_id" = V2."id")
WHERE (NOT (EXISTS(SELECT (1) AS "a" FROM "edu_turmaminicurso_participantes" U2 INNER JOIN "edu_turmaminicurso" U3 ON (U2."turmaminicurso_id" = U3."id")
WHERE (NOT U3."gerar_matricula" AND U2."aluno_id" = V0."aluno_id") LIMIT 1)
AND V2."ano" = #ANO_CORRENTE#) AND V2."ano" = #ANO_CORRENTE# AND V0."periodo_letivo" = 2)))))

No momento da extração dos dados, o DataExtractor fará a substituição das variáveis pelo valor correspondente.