Uma visão geral da tarefa XML nos pacotes SSIS

Uma visão geral da tarefa XML nos pacotes SSIS

Uma visão geral da tarefa XML nos pacotes SSIS 1
cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


Introdução

Podemos usar um pacote SSIS para executar várias tarefas, como importar, transformar e obter saída em vários formatos. Depois que lançamos o Visual Studio 2019 e criamos um projeto de serviços de integração, ele mostra várias tarefas na caixa de ferramentas do SSIS. Neste artigo, exploraremos o Tarefa XML no SSIS.

Caixa de ferramentas SSIS

Visão geral de uma tarefa XML

Usamos a Tarefa XML para validar, comparar os documentos XML, aplicar várias transformações. Ele usa XSLT (Extensible Stylesheet Language Transformations) para aplicar a transformação nos dados XML. Também podemos mesclar documentos XML de várias fontes e criar um documento XML abrangente.

Explorar configurações de tarefas XML

Vamos arrastar isso Tarefa XML no fluxo de controle e explore suas várias configurações.

Tarefa XML

Agora, clique duas vezes no editor XML para abrir o editor de tarefas XML.

Editor de tarefas XML no pacote SSIS

Vamos dar uma olhada nas opções disponíveis no editor de tarefas:

  • Tipo de operação: Ele fornece uma lista de opções que podemos executar no documento XML. Chegamos na seção Entrada
    • Diff: Podemos comparar dois documentos XML usando a operação diff. Ele usa o primeiro XML como XML de origem e o compara com o seguinte XML especificado. Na saída, obtemos um documento XML Diffigram
    • Mesclar: Às vezes, precisamos mesclar duas cópias de documentos XML em um único documento. Semelhante à operação diff, ele usa o primeiro XML como um documento base. Ele mescla o segundo documento XML com o XML base
    • Fragmento: Podemos usar o método Patch para criar um novo documento XML que inclua a saída do documento XML Diffigram
    • Validar: Usamos uma definição de esquema XML (XSD) para validar um documento XML. Um documento XSD contém as guias, atributos, definição do documento XML. Podemos validar o XML usando esta opção
    • XPATH: Podemos realizar consultas XPath ou documentos XML usando esta opção XPATH
    • XSLT: Podemos transformar um documento XSL usando os documentos XML

Por padrão, ele mostra o editor XML no diretório Diff modo de operação. Para o tipo de operação Diff, temos mais opções no Opção Diff grupo.

Leia Também  PASS Summit 2019 - Almoço WIT - SQLBlog

Tipo de operação

Expandir o DiffOptions para verificar várias opções para Diff.

Tarefa DiffOptions for XML

  • DiffAlgorithm: Ele define o algoritmo de comparação para o documento XML. Temos modos Automático, Rápido e Preciso. Por padrão, ele usa o modo Automático. No modo preciso, a comparação XML pode demorar mais. O modo automático seleciona o modo, dependendo do tamanho do documento.
  • DiffOptions: Por padrão, todas as opções neste grupo são falso:
    • IgnoreComments: Se esse valor for Verdade, O SSIS compara os comentários também nos dois XMLs
    • IgnoreNamespaces: define a comparação para o identificador uniforme de recursos do elemento (URI e seus atributos. Se definirmos esse valor como TRUE, os elementos XML com o mesmo nome local serão considerados idênticos. Ignora o valor do espaço para nome dos dois elementos)
    • IgnorePrefixes: mostra se a tarefa XML compara o elemento e seus atributos. Ignora o prefixo ao fazer a comparação
    • IgnoreXMLDeclaration: Ignora as declarações XML nos documentos para fins de comparação
    • IgnoreOrderOfChildElements: ignora a ordem dos elementos filho no documento XML. Se definirmos essa propriedade como TRUE, o elemento filho com as diferentes posições será considerado idêntico.
    • IgnoreWhiteSpaces: controla o espaço em branco ao fazer a comparação
    • IgnoreProcessingInstructions: podemos especificar se queremos comparar o instruções de processamento ou não
    • IgnoreDTD: define se queremos comparar a declaração de tipo de documento (DTD) ou não
  • FailOnDifference: Se a tarefa XML encontrar alguma diferença no documento XML base e no segundo, poderemos controlar os comportamentos do pacote SSIS
    • FailOnDifference = True: O pacote falha se existir alguma diferença
    • FailOnDifference = False: O pacote não falha devido à diferença do documento XML
  • SaveDiffGram: Depois que o documento XML compara o documento XML, ele cria um arquivo DiffGram, se definirmos essa propriedade como TRUE. Também precisamos definir um local onde este DiffGram arquivo é salvo. Também podemos armazenar a diferença em uma variável

Comparar documentos XML em um pacote SSIS usando a tarefa XML

Vamos criar dois documentos XML e compará-los usando esta tarefa XML no pacote SSIS. Para fins de demonstração, eu uso o XML especificado nos documentos da Microsoft.

Arquivo base:

Arquivo XML base

Segundo arquivo XML:

Segundo arquivo XML

No tipo de origem, crie uma nova conexão de arquivo e especifique o local do documento XML que queremos usar como arquivo base.

Leia Também  Você é mal pago? Vamos descobrir: a pesquisa de salários dos profissionais de dados está aberta.

Crie um novo arquivo XML

Da mesma forma, precisamos fornecer o caminho do segundo arquivo XML no diretório Segundo operando grupo. Selecione os SecondOperandTYpe como uma conexão de arquivo. Também podemos usar a opção DirectInput ou variável no menu suspenso.

Segundo grupo de operandos

Além disso, precisamos configurar o caminho para o arquivo DiffGram que captura a diferença nos dois documentos XML. Primeiro, defina a propriedade SaveDiffGram para True. No novo gerenciador de conexões de arquivos, selecione a opção para criar o arquivo e especifique o nome e o diretório do arquivo.

Defina a propriedade SaveDiffGram

Não queremos que nosso pacote SSIS seja preenchido caso encontre alguma diferença no arquivo de ambos os XML. Eu iria com a configuração padrão FailOnDifference como falso. Você pode alterá-lo para True, caso queira que o pacote falhe em caso de diferenças.

Configurações padrão FailOnDifference na tarefa XML do pacote SSIS

Nos gerenciadores de conexão, podemos ver o XML base, o segundo arquivo XML junto com o DiffGram arquivo para capturar as diferenças.

Arquivo DiffGram

Clique em Iniciar para executar o pacote SSIS. Podemos ver que o pacote foi bem-sucedido porque selecionamos a propriedade FailOnDifference Como Falso.

Propriedade FailOnDifference

Vamos abrir o arquivo DiffGram a partir do diretório que especificamos durante a configuração. No arquivo base e de origem, temos dados adicionais para o ID do livro 102. Ele não existe no arquivo base, portanto você tem a diferença na saída.

Exibir diferenças XML

Temos a identificação do livro 101 nos dois documentos XML. Vamos alterar o conteúdo da ID do livro 101 no XML base.

Modificar arquivo base

Salve este arquivo XML e execute novamente o pacote. Desta vez, temos uma falha no pacote SSIS. Clique nos resultados da execução e vemos que ela falhou porque o arquivo DiffGram já existe.

Pacote com falha

Volte ao fluxo de controle e abra o editor de tarefas XML. Na saída, temos a opção de substituir o arquivo de saída, se ele já existir. Mude o valor para OverWriteDestination como verdadeiro.

Propriedade OverWriteDestination

Clique em Ok e execute o pacote. O pacote funciona bem neste momento. Abra o arquivo DiffGram e observe a diferença nos dois XMLs. Você pode ver aqui que destaca a diferença se ela também existir em um valor de elemento.

Ver diferenças no arquivo DiffGram

Mesclar XML usando tarefas XML em pacotes SSIS

Na seção anterior, comparamos o documento XML usando a operação diff da tarefa XML. Vamos usar a operação de mesclagem. Conforme destacado anteriormente, as operações de mesclagem adicionam o conteúdo do segundo documento ao documento base.

Leia Também  Semana gratuita de Noções básicas sobre ajuste de consulta: Parte 1, Criando um plano de consulta

Vamos abrir o editor de tarefas XML e alterar o tipo de operação para Mesclar. Altera as opções de configuração correspondentes à operação de mesclagem.

Mesclar arquivos XML

Antes de avançarmos, vamos ver os documentos XML que queremos mesclar em um novo arquivo. Aqui, o arquivo esquerdo é o XML base (1) e o XML do lado direito é o XML que queremos mesclar com o arquivo base.

Arquivos XML de amostra para mesclar

Vamos fazer as seguintes alterações no editor de arquivos de mesclagem.

Editor de arquivo de mesclagem

  1. Especifique o caminho do arquivo XML base

  2. Especifique o caminho do arquivo que queremos mesclar no arquivo base

  3. Precisamos especificar as opções de mesclagem

    1. XPathStringSourceType: Entrada direta

    2. XPatStringSource: são as tags que usamos no arquivo XML. Se olharmos para os dois documentos XML, ele está incorporado nas tags . Você precisa especificar essa tag nessa configuração, como mostrado acima

  4. Especifique o nome e o destino do arquivo para o novo arquivo de mesclagem. Também podemos optar por sobrescrever o arquivo existente, se ele já existir

Depois de concluir a configuração da operação de mesclagem, clique em Ok e execute o pacote SSIS.

Execute o pacote SSIS.

A execução do pacote foi bem-sucedida. Vamos abrir o arquivo XML de mesclagem e ver se ele mesclou o seguinte XML no XML base. Na captura de tela a seguir, visualizamos o conteúdo XML no documento XML base.

Exibir documento mesclado

Conclusão

Neste artigo, aprendemos sobre a tarefa XML no pacote SSIS. Exploramos as operações de comparação e mesclagem de arquivos XML usando o método Diff e Mesclar operações. Você também pode explorar outras operações XML, como Patch, validate, XPath e XSLT.

Rajendra Gupta
Últimas mensagens de Rajendra Gupta (ver todos)

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br