Saturday 28 April 2018

Opções na estratégia de atualização


Estratégia de atualização - Configurações de sessão na Informatica.


Atualize as operações de estratégia para cada tabela de destino:


A tabela abaixo ilustra como os dados na tabela de destino são inseridos ou atualizados ou excluídos para várias combinações de "Marcação de linha" e "Configurações da tabela de destino individual".


A atualização como Inserção é especificada.


A atualização como Inserção é especificada.


Atualização de mais A inscrição está especificada.


Atualização de mais A inscrição está especificada.


6 comentários:


Eu não acho que os dados serão excluídos no alvo. Não há banco de dados DB2 em nossa empresa. Eu não posso testar esse cenário.


Considere os últimos 2 casos -


Atualização - Inserção é especificada, Atualização mais A inserção é especificada - Se a linha existir no alvo, ela será atualizada. Caso contrário, ele será inserido.


Atualização - Inserção não especificada, Atualização de mais A inscrição é especificada - Se a linha existir no alvo, ela será atualizada. A linha não será inserida no caso se não existir no alvo.


Estamos assumindo & # 39; Update & # 39; opção marcada na tabela de destino aqui? Caso contrário, isso funcionará? Se a opção de atualização na tabela de destino não estiver marcada, as linhas serão atualizadas?


Eu não consegui onde verificar & # 39; Update & # 39; opção no alvo.


No entanto, existe uma propriedade na aba de propriedades da sessão - & # 39; Trate linhas de origem como & # 39;;.Podemos defini-la como & # 39; Atualização & # 39;


Essas opções estão disponíveis na guia mapeamentos para cada alvo.


Estamos usando o Update Strategy Transformation no mapeamento, como podemos saber se a opção de inserção ou atualização ou rejeição ou exclusão foi selecionada durante a execução das sessões na Informatica.


Membro Desde Out-2005.


Perguntado em: 30 de novembro de 2005.


Mostrando 1 - 0 de 0 Ans Rishi.


Respondido: 5 de dezembro de 2005.


No Designer ao criar a Estratégia de Estratégia de Transformação, desmarque "encaminhar para a próxima transformação". Se as linhas rejeitadas estiverem automaticamente, elas serão atualizadas para o arquivo de log da sessão. Atualizar ou inserir arquivos são conhecidos, verificando apenas o arquivo ou a tabela de destino.


Respondido: 4 de janeiro de 2006.


Respondido: 4 de janeiro de 2006.


Operação Constante Valor numéricoInserir DD_INSERT 0Update DD_UPDATE 1Delete DD_DELETE 2Rejeitar DD_REJECT 3Espero isso irá ajudá-lo a descobrir. Cheers, Sithu.


Respondido: 18 de julho de 2006.


Oi, se você estiver usando uma estratégia de atualização no seu mapeamento, não há tal oprtion para verificar ou desmarcar essas operações. Quando você precisa executar qualquer uma das operações de DML ou banco de dados, você deve codificá-la manualmente na UPD. então não há chance de verificar isso. Se você usou DD_UPDATE ou DD_REJECT, você só pode conhecê-lo consultando a tabela de destino. Se for rejeitado, então, no log de sessão.


Respondido: 20 de julho de 2007.


Use uma transformação de pesquisa que levará um instantâneo da tabela antes de enviar para atualizar a estratégia. Você pode usar a pesquisa ativa, ele acompanhará os dados e ajudará a identificar linhas novas / antigas.


Rakesh Kumar Prasad.


Deixe-se aprender juntos :)


Cenários para dominar a Transformação da Estratégia de Atualização.


Cenários para dominar a estratégia de atualização:


Nível de Mapeamento: Tem uma transformação de atualização com DD_UPDATE.


Nível de sessão: A propriedade "Tratar linhas de origem como" é INSERT.


Nível de destino individual: INSERT.


No cenário acima, mesmo que um aviso seja lançado após a execução, as linhas são INSERTADAS.


"Aviso: A atualização da estratégia de atualização existe no mapeamento, mas a fonte não foi marcada para a opção de dados".


O Serviço de Integração considera o valor do Nível de Sessão.


Nível de Mapeamento: Tem uma transformação de atualização com DD_UPDATE.


Nível de sessão: A propriedade "Tratar linhas de origem como" é INSERT.


Nível de alvo individual: DELETE.


No cenário acima, a sessão falha com o erro:


"A tabela de destino [Table_Name] não permite INSERT".


O Integration Service tenta inserir as linhas à medida que o nível da sessão assume a precedência, mas como a opção de inserção não está selecionada no nível do alvo, a opção de inserção não pode ser executada e, portanto, causa o erro.


Defina a opção Inserir no nível de destino.


Nível de Mapeamento: Tem uma transformação de atualização com DD_UPDATE.


Nível de sessão: A propriedade "Tratar linhas de origem como" é DATA DRIVEN.


Nível de alvo individual: DELETE.


No cenário acima, a sessão falha com o erro:


"Tabela de destino [Table_Name] não permite UPDATE".


O Serviço de Integração tenta atualizar as linhas, mas como opção de atualização não está selecionada no nível de destino, a opção de atualização não pode ser executada e, portanto, causa o erro.


Defina a opção Atualizar no nível de destino.


Nível de mapeamento: sem transformação de atualização.


Nível de sessão: A propriedade "Tratar linhas de origem como" é Data Driven.


Nível de alvo individual: DELETE.


No cenário acima, as linhas são escritas em Arquivo ruim.


O Serviço de Integração tenta INSERTAR por padrão, mas como o nível de destino está definido para Excluir, INSERT não pode ser executado na tabela.


Defina a opção Inserir no nível de destino.


Nível de mapeamento: sem transformação de atualização.


Nível de sessão: A propriedade "Tratar linhas de origem como" é Atualização.


Nível de Destino Individual: Atualize mais Inserir.


No cenário acima, a sessão falha com o erro:


"A tabela de destino [Table_Name] não permite INSERT".


O Integration Service tenta atualizar as linhas se existir, senão para inseri-la, mas como a opção INSERT não está selecionada no nível de destino, a opção de inserção não pode ser executada e, portanto, causa o erro.


Defina a opção INSERT juntamente com Update else Insert no nível de destino.


Nível de mapeamento: sem transformação de atualização.


Nível de sessão: A propriedade "Tratar linhas de origem como" é Atualização.


Nível do alvo individual: Excluir.


No cenário acima, a sessão falha com o erro:


"Tabela de destino [Table_Name] não permite UPDATE".


O Serviço de Integração tenta atualizar as linhas, mas como opção de atualização não está selecionada no nível de destino, a opção de atualização não pode ser executada e, portanto, causa o erro.


Defina a opção Atualizar no nível de destino.


Nível de mapeamento: sem transformação de atualização.


Nível de sessão: A propriedade "Tratar linhas de origem como" é Atualização.


Nível de destino individual: Atualização como atualização.


No cenário acima, a sessão será executada com sucesso e todas as linhas no alvo serão atualizadas de acordo com a fonte. Mas se a fonte tiver linhas que não estejam presentes no alvo, isso não será inserido.


O Serviço de Integração é ditado apenas para atualizar as linhas existentes para não inserir linhas não existentes juntamente com a inserção, portanto as linhas só são atualizadas.


Defina a opção Atualizar outra opção no nível de destino.


Nível de mapeamento: sem transformação de atualização.


Nível de sessão: A propriedade "Tratar linhas de origem como" é Atualização.


Nível de Destino Individual: Atualize mais Insira e Insira.


No cenário acima, a sessão será executada com sucesso. Todas as linhas no alvo serão atualizadas de acordo com a fonte e também se houver novas linhas na fonte, [que não estão presentes no alvo], tais linhas que serão inseridas no alvo.


O Serviço de Integração atualiza as linhas existentes e também insere as linhas não existentes, pois é instruído para atualizar as linhas existentes e inserir as linhas não existentes.


Nível de mapeamento: sem transformação de atualização.


Nível de sessão: A propriedade "Tratar linhas de origem como" é Atualização.


Nível de destino individual: Atualização como atualização.


Alvo do banco de dados: Não há chaves primárias definidas.


No cenário acima, a sessão falha com o erro:


"A tabela de destino [Table_Name] não possui nenhuma chave especificada".


O Serviço de Integração executa atualizações com base em "chave" para não identificar a chave, a sessão falha.


Mesmo que você não tenha uma chave primária no banco de dados, marque um campo único e não nulo como chave primária no nível informatica.


Use a opção de substituição de atualização de destino para definir a condição em que a atualização deve ser realizada.


Nível de mapeamento: sem transformação de atualização.


Nível de sessão: A propriedade "Tratar linhas de origem como" é Atualização.


Nível de destino individual: Atualização como atualização.


Meta Informatica: Não tem nenhuma chave primária definida.


Alvo do banco de dados: tem uma chave primária definida.


No cenário acima, a sessão falha com o erro:


"A tabela de destino [Table_Name] não possui nenhuma chave especificada".


O Serviço de Integração executa atualizações com base em "chave" para não identificar a chave no objeto de destino informatica, a sessão falha.


Sincronize as estruturas de tabela de destino informatica e banco de dados.


Como integrar dados.


A Atualização da Estratégia de Transformação na Informatica é uma transformação ativa e conectada. Seu objetivo é controlar como os dados são inseridos, atualizados, excluídos e rejeitados de uma determinada tabela de destino. É vital que o mundo de integração / armazenagem de dados tenha esse controle, pois nos permite armazenar dados de acordo com a necessidade de nossa empresa.


Configurando a Estratégia de Atualização de Transformação.


A transformação da estratégia de atualização pode ser configurada dentro da sessão ou o próprio mapeamento. Vamos dar uma olhada nessas opções uma de cada vez.


Configurando a Sessão de Mapeamento.


Vamos dar uma olhada em um exemplo rápido. Para configurar a estratégia de atualização dentro da sessão, comece no gerenciador de fluxo de trabalho e clique duas vezes na sessão de mapeamento chamada s_UPD_DEMO abaixo.


Transformação de atualização no exemplo de fluxo de trabalho da Informatica.


Depois de clicar duas vezes na sessão, clique na guia Propriedades.


Transformação de atualização na guia de Propriedades da sessão de exemplo da Informatica.


Esta guia nos mostrará um & # 8220; tratar as linhas de origem como & # 8221; Deslize para baixo com quatro opções diferentes. Este atributo nos permite controlar, em um nível de sessão, se as linhas são inseridas, atualizadas ou excluídas das nossas tabelas de destino. Se selecionarmos inserir, nosso mapeamento tentará inserir cada registro direcionado para nossa tabela de destino. Precisamos garantir que nossos dados incluam uma chave primária mapeada na chave primária da nossa tabela de destino & # 8217 ;. Se, por algum motivo, tentamos inserir um registro com uma chave primária que já existe na nossa tabela de destino, esse registro será rejeitado. Estas mesmas regras aplicam-se para atualizar e excluir opções. A diferença é que nossos registros de mapeamento tentarão ser atualizados ou excluídos em nossa tabela de destino em vez de inseridos.


Além de selecionar as linhas de origem "tratar" correta como # 8221; opção de atributo, devemos definir atributos de nível de tabela de destino na guia de mapeamento de nossa sessão. Se, por exemplo, selecionamos a opção de inserção para nossas linhas de origem do tratamento como # 8221; opção, precisamos clicar na nossa tabela de destino e, em seguida, marque a caixa de seleção do atributo de inserção. Certifique-se de desmarcar todas as outras caixas de verificação da operação do banco de dados.


Transformação de atualização na guia de mapeamento de sessão de exemplo da Informatica.


Se quisermos atualizar os registros e selecionar a atualização conforme nossas & # 8220; tratar as linhas de origem como & # 8221; opção de atributo, então temos três opções no nível da tabela de destino para escolher: atualizar como Atualização, Atualizar como Inserção e Atualizar outra Inserção.


Da mesma forma que nossas & # 8220; tratar linhas de origem como & # 8221; Insira o exemplo, se quisermos excluir linhas, devemos selecionar excluir como nossas "linhas de origem" tratar como # 8221; opção de atributo e marque a caixa de seleção de atributo de exclusão para cada tabela de destino na guia de mapeamento.


Nossa última opção de atributo de tabela é a opção truncar tabela de destino. Isso trará todos os dados dentro da tabela de destino antes de executar qualquer registro através do nosso mapeamento.


Nossas linhas de origem final de # 8220; como # 8221; A opção de atributo é conduzida por dados. Esta é a opção padrão quando adicionamos uma transformação de estratégia de atualização em nosso mapeamento. Esta opção informa o nosso mapeamento para usar a lógica dentro da nossa transformação de estratégia de atualização ao determinar se deseja inserir, atualizar, excluir ou rejeitar registros. Este controle mais legal é muito bom ter ao construir um data warehouse e uma prática recomendada ao marcar registros para a mesma tabela de destino com diferentes operações de banco de dados.


Vamos dar uma olhada em como configurar a nossa transformação da estratégia de atualização em um mapeamento Informatica. Abaixo temos um exemplo de mapeamento de M_Sales.


Atualize a transformação no exemplo de mapeamento da Informatica.


Observe que temos uma única fonte de dados do agente de vendas provenientes de um arquivo plano. Nossos dados estão sendo encaminhados através de uma transformação de roteador e, então, para 3 diferentes transformações de estratégia de atualização (UPD_INSERT_HIGH, UPD_UPDATE_MEDIUM e UPD_DELETE_LOW), todos marcando nossos registros para diferentes operações de banco de dados. Finalmente, estamos enviando nossos registros de agente de vendas para a mesma tabela de destino, VENDAS.


Vamos dar uma rápida olhada em nossos critérios de roteador de grupo e # 8230;


Condições de filtro do grupo de transformação do roteador de vendas.


Observe como nossa condição de filtro separa os agentes com altos, médios e baixos valores totais de vendas. Nós somos agentes de roteamento com altas vendas para a transformação da estratégia de atualização UPD_INSERT_HIGH, vendas médias para a transformação da estratégia de atualização UPD_UPDATE_MEDIUM e baixas vendas para UPD_DELETE_LOW transformação da estratégia de atualização. Vamos dar uma olhada em cada uma dessas transformações com mais detalhes.


No mapeamento, clique duas vezes na transformação da estratégia de atualização UPD_INSERT_HIGH e clicando na guia de propriedades, obtemos a visualização abaixo.


Inserir o exemplo de transformação da estratégia de atualização.


Observe como eu programei DD_INSERT no atributo de transformação da expressão da estratégia de atualização. Isso diz a transformação para sinalizar todos os registros passados ​​através dele, para inserir na tabela de destino. Nós também podemos usar valores numéricos aqui, mas eu recomendaria usar as constantes como uma prática recomendada, uma vez que a operação é muito mais intuitiva. Abaixo estão todas as nossas opções para este atributo, juntamente com suas operações correspondentes.


Vamos rapidamente rever a nossa transformação de estratégia de atualização adicional neste mapeamento.


UPD_UPDATE_MEDIUM está configurado para atualizar as linhas que corresponda com a chave primária na tabela de VENDA alvo.


Update Update Strategy Transformation Example.


UPD_DELETE_LOW está configurado para excluir as linhas que corresponda pela chave primária na nossa tabela de VENCIMENTOS alvo.


Excluir o exemplo de transformação da estratégia de atualização.


Observe como o atributo de transformação de linhas rejeitado para a frente é verificado. Esta é a configuração padrão para uma nova transformação da estratégia de atualização. Isso realmente não entrou em jogo no nosso exemplo, mas se nós devêssemos estabelecer alguma lógica condicional dentro da nossa expressão de estratégia de atualização, podemos rejeitar algumas linhas e decidir que não queremos que elas passem para nossa próxima transformação. Por exemplo, podemos colocar uma declaração como a abaixo em nossa transformação da estratégia de atualização UPD_UPDATE_MEDIUM:


IIF (TOTAL_SALES 6000, DD_UPDATE, DD_REJECT)


Esta declaração indicaria a transformação para marcar linhas para atualização se TOTAL_SALES fosse menor que o nosso igual a 10000 e superior a 6000. No entanto, se TOTAL_SALES fosse menor ou igual a 6000, então rejeitaríamos a atualização. Esta lógica real pode não ser real algo que faria na vida real, mas acho que você adquire o ponto.


De volta ao nosso atributo de linhas rejeitado para a frente, se deixarmos a caixa de seleção desmarcada, esses registros não passariam para nossa tabela de destino e seriam descartados pelo Serviço de Integração. Além disso, eles escreveriam o arquivo de log da sessão.


Se mantiver o atributo de linhas rejeitado para frente verificado, não mudaria muito. Os registros seriam passados ​​para a tabela de destino, mas ainda assim seriam rejeitados e descartados. No entanto, os registros seriam escritos no arquivo de rejeição da sessão em vez do arquivo de log da sessão.


Velocity Naming Standard.


Velocity recomenda o formato abaixo ao nomear uma Atualização Estratégia de Transformação na Informatica:


A Estratégia de Atualização de Transformação na Informatica é uma ótima ferramenta para controlar como os dados passados ​​através de um mapeamento são sinalizados para inserir, atualizar, excluir e rejeitar na tabela de banco de dados de destino. Podemos controlar isso em um nível de sessão de mapeamento ou em um nível de mapeamento através da própria transformação. Se você estiver no mundo da business intelligence e data warehouse, você definitivamente quer uma compreensão profunda de como a Atualização da Estratégia de Transformação na Informatica funciona. Feliz integração & # 8230;


Aaron Gendle.


Últimas mensagens de Aaron Gendle (ver todos)


5 razões para sair do seu trabalho hoje - 20 de junho de 2017 O 2017, Top 50.


Comentários 2.


Obrigado pela explicação detalhada sobre a estratégia de atualização. Continue postando.


Inscreva-se na rede Informatica.


Alguém pode me dizer qual é o significado da estratégia de atualização quando podemos inserir / atualizar usando as próprias propriedades da sessão, precisamos saber por que a Informatica introduziu uma transformação chamada "estratégia de atualização".


1. Re: atualize a estratégia vs inserir / atualizar nas sessões.


As configurações na sessão ('Tratar linhas de origem como') são para todos os destinos.


Use a transformação do no-break no mapeamento se você quiser ter uma estratégia diferente (inserir, atualizar,.) Para o mesmo alvo e também quando quiser rejeitar as linhas, pois não há rejeição no nível da sessão ('Tratar as linhas de origem como'), não faz sentido se fosse assim.


Aqui está uma lista de verificação. Para mais detalhes, consulte a Ajuda.


A escolha de uma estratégia de atualização requer a configuração das opções corretas dentro de uma sessão e, possivelmente, adicionar as transformações da Estratégia de Atualização a um mapeamento. Esta seção resume o que você precisa para implementar diferentes versões de uma estratégia de atualização.


Somente & # 160; & # 160; execute inserções em uma tabela de destino.


Quando você configura a sessão, selecione Inserir para & # 160; & # 160; as linhas Origem Treat como propriedade de sessão. Além disso, certifique-se de selecionar & # 160; & # 160; a opção Inserir para todas as instâncias de destino na sessão.


Quando você configura a sessão, selecione Excluir para & # 160; & # 160; as linhas Origem Treat como propriedade de sessão. Além disso, certifique-se de selecionar & # 160; & # 160; a opção Excluir para todas as instâncias de destino na sessão.


Somente & # 160; & # 160; execute atualizações sobre o conteúdo de uma tabela de destino.


Quando você configura a sessão, selecione Atualizar para & # 160; & # 160; as linhas Origem Treat como propriedade de sessão. Quando você configura a atualização & # 160; & # 160; opções para cada instância da tabela de destino, certifique-se de selecionar a Atualização & # 160; & # 160; opção para cada instância de destino.


Execute & # 160; & # 160; diferentes operações de banco de dados com diferentes linhas destinadas ao mesmo & # 160; & # 160; tabela de destino.


Adicione uma transformação da Estratégia de Atualização ao & # 160; & # 160; mapeamento . Quando você escreve a expressão da estratégia de atualização de transformação, use & # 160; & # 160; ou a função DECODE ou IIF para marcar linhas para diferentes operações & # 160; & # 160; (inserir, excluir, atualizar ou rejeitar). Quando você configura uma sessão que usa & # 160; & # 160; esse mapeamento, selecione Data Driven for Treat Treatments Source como sessão & # 160; & # 160; propriedade. Certifique-se de selecionar a opção Inserir, Excluir ou uma das Atualizações & # 160; & # 160; opções para cada instância de tabela de destino.


Adicione uma transformação da Estratégia de Atualização ao & # 160; & # 160; mapeamento . Quando você escreve a expressão da estratégia de atualização de transformação, use & # 160; & # 160; DECODE ou IIF para especificar os critérios para rejeitar a linha. Quando você & # 160; & # 160; configure uma sessão que use esse mapeamento, selecione Dados Driven para o Treat & # 160; & # 160; Linhas de Origem Como propriedade de sessão.


Dê uma olhada na Ajuda para obter mais detalhes, mas tenha cuidado para não se distrair com os detalhes. A melhor maneira de aprender é experimentá-lo e jogar com as opções uma no momento e examinar o impacto no resultado. Não é muito complicado.

No comments:

Post a Comment