Pular para o conteúdo principal

XML para Tabela v.2

Configuração atual da tarefa XML to Table v.2 no Workflow Designer
  • Tipo de tarefa: xml-to-table_v2

Descrição

A tarefa "XML para Tabela v.2" permite importar dados em formato XML diretamente para uma tabela de um banco de dados suportado. O sistema converte internamente a estrutura XML para mapear os valores nos campos da tabela de destino.

1. Conexão com o Banco de Dados

Nesta secção, definem-se a origem dos dados e as coordenadas do banco de dados.

Tabela de destino (Origem da Conexão)

Selecione como configurar o acesso ao banco de dados:

  • Manuale: inserção manual de host, porta e credenciais.
  • Environment: utilização de um ambiente de conexão pré-configurado.

Ambiente de Conexão

Selecione o ambiente desejado no menu suspenso (ex. Example_Connection). Os parâmetros de autenticação serão preenchidos automaticamente.

Conjunto de Dados de Entrada

Insira o conteúdo XML a ser processado.

  • É possível utilizar parâmetros dinâmicos (ex. #>Run Script Python xml.result<#) para ligar a saída de uma tarefa anterior que gera ou recupera o XML.

Tipo de Banco de Dados

Selecione o DBMS: PostgreSQL, SQLserver, MySQL, Oracle, SAP HANA.

Conexão SSL

Indique se a conexão requer SSL (SI / NO).

Autenticação

Preencha os campos Host, Porta, Nome do DB, Utilizador e Palavra-passe (botão Definir palavra-passe) se estiver a operar em modo manual.

2. Gestão de Tabela

Tabela de destino (Ação)

Defina a operação a ser executada no banco de dados:

  • Criar tabela: cria uma nova tabela.
  • Tabela Existente: insere dados numa tabela já existente. É possível escolher entre:
  • Append: adiciona os registos.
  • Truncate Insert: esvazia a tabela antes de inserir os novos dados.
  • Criar tabela se não existir: cria a tabela apenas se não for detetada, evitando erros em execuções repetidas.

Nome da Tabela de Destino

Especifique o nome da tabela no banco de dados (ex. example_table).

3. Estrutura da Tabela

Nesta aba, define-se o mapeamento entre os nós do XML e as colunas da tabela. Mesmo que a entrada seja XML, para o mapeamento dos campos utiliza-se a sintaxe JSONPath na representação interna do documento.

CampoDescrição
TipoTipo de dado (STRINGA, NUMERICO, DATA, DATA E HORA).
PrecisãoComprimento máximo (strings) ou precisão numérica.
AliasNome da coluna no banco de dados.
Expressão JSONPathCaminho para extrair o valor do nó XML (ex. $.task_name).

Gestão da Estrutura da Tabela

No canto inferior direito da Estrutura da Tabela encontram-se três botões:

BotãoAção
GuardarGuarda a estrutura definida
ImportarImporta uma estrutura existente
ExportarExporta a estrutura definida

Esta funcionalidade permite guardar, exportar ou reutilizar os mapeamentos, evitando a compilação manual dos campos e reduzindo o risco de erros.

Nota Técnica

Visibilidade: As estruturas guardadas no sistema são visíveis exclusivamente ao utilizador que as criou. Aprofundamento: Para uma descrição detalhada de todas as opções e da lógica de funcionamento, consulte a página Estrutura da Tabela.

4. Exemplo de Configuração

Dado o seguinte XML de entrada:

<tasks>
<task>
<task_name>Generate Summary</task_name>
<status>pending</status>
</task>
</tasks>

Estrutura da Tabela

A Estrutura da Tabela será configurada da seguinte forma:

TipoPrecisãoAliasExpressão JSONPath
STRINGA1000task_name$.task_name
STRINGA1000status$.status

Parâmetros de Saída

  • exitStatus: Código de estado (0 = Sucesso)
  • rowCount: Número de registos inseridos (ex: 3)
  • targetTable: Nome da tabela de destino
  • DataExportCsv / DataExportJson: Os dados importados formatados nos respetivos padrões
  • Dataset.NomeCampo: Valor do campo para utilização num Iterador
  • DataColumn.NomeCampo: String com todos os valores da coluna separados por vírgula (ex: pending, done, running)
  • resultJson: Relatório técnico completo da operação

Exemplo resultJson

{
"run_info": {
"status": "Completed",
"run_result": "Success"
},
"output_parameters": {
"exitStatus": "0"
}
}