odi series - importar arquivos texto para tabelas

Post on 11-Jun-2015

3.067 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Este tutorial demonstra os passos necessários para cria um projeto e uma interface no Oracle Data Integrator (ODI) para importar um arquivo texto para uma tabela do banco de dados relacional.

TRANSCRIPT

ODI Series

March 11

2012

Este tutorial demonstra os passos necessários para cria um projeto e uma interface no Oracle Data Integrator (ODI) para importar um arquivo texto para uma tabela do banco de dados relacional.

Importando Tabelas

Visão Geral

Uma tarefa comum realizada com o Oracle Data Integrator é importar dados de um arquito texto e atualizar uma tabela do banco de dados relacional. Esta tarefa é comum quando temos sistemas que precisam ser alimentados mas não possuem conectores, ou esses conectores tem um custo muito elevado e a solução de integração se resume em gerar um arquivo texto para que ele seja utilizado na carga dos dados.

Este tutorial tem como missão principal guiar o leitor através dos passos necessários para importar esses dados. No post anterior caminhamos pelos passos para gerar um arquivo texto e iremos utilizar essa mesma estrutura para realizar a tarefa de hoje.

Serão utilizados os módulos Designer e Operator. Com o Designer iremos criar o projeto e as interfaces necessárias, assim como parametrizar todo o ambiente para a leitura do arquivo texto e geração da tabela e o módulo Operator para validar a execução do processo.

Cenário de Trabalho

Imagine-se trabalhando como DBA (Database Administrator) para uma empresa de Telecomunicações. Nesta empresa, você é responsável por gerenciar os bancos de dados e suprir as necessidades de integração de dados com outros sistemas. Em particular você é responsável por todas as atividades de Carga, transformação e validação dos dados.

Para começar esse projeto você precisa criar ou ter um ambiente de trabalho (repositórios Master e Work no ODI), caso queira criar um novo ambiente no ODI e não sabe como leia o artigo - http://idcube.blogspot.com/2012/02/odi-tutorial-iniciando-um-projeto.html, neste artigo você irá encontrar todo o necessário para a criação de um novo ambiente de trabalho.

Com o ambiente criado será necessário criar um projeto e um interface para exportar os dados da tabela relacional para o arquivo texto e lembre-se sempre ORGANIZE SEU PROJETO NO INÍCIO.

Pré-requisitos

Antes de iniciar as atividades do projeto, garanta que seu ambiente contempla os pré-requisitos abaixo mencionados:

1. Ter instalado o banco de dados Oracle Database 10g ou posterior2. Ter iniciado os serviços e componentes do banco de dados3. Ter instalado o Oracle Data Integrator 10g4. Ter criado o ambiente de trabalho do ODI, repositórios, usuários e

etc.5. Ter feito o tutorial ODI Series – Exportar Tabelas para Arquivo Texto -

http://idcube.blogspot.com/2012/03/odi-series-exportar-tabelas-para.html, neste artigo você irá encontrar as parametrizações necessárias para a manipulação de arquivo texto.

ODI - Configuração do Projeto

Para criar um novo projeto com o Oracle Data Integrator, siga os seguintes passos:

1. Inicie o ODI Designer: Start > Programs > Oracle > Oracle Data Integrator > Designer. Selecione OracleDI Tutorial Series Work Repository na tela de Login (campo Login Name). Entre o usuário e senha de acesso, DW_DBA no campo user e DW_DBA no campo password. Clique OK para efetuar o Login.

2. Dentro do módulo Designer, na pasta Projects, clique no ícone

Insert Project .

3. Uma nova tela aparecerá, configure o campo Name com Import-Texto-Tabela, este campo é o nome do novo projeto que estamos criando para este artigo. Veja que o campo Code é carregado automaticamente. Quando terminar clique no botão OK. Observe que ao lado esquerdo da tela de Projetos irá aparecer o nome do Projeto que acabamos de criar conforme as figuras abaixo.

4. Vamos parametrizar os Knowledge Modules necessários para importar o arquivo texto para dentro da nossa tabela de Cidades. Precisamos do IKM SQL Incremental Update, LKM File to SQL e CKM SQL. Para importar um KM, expanda a pasta de Projetos no painel direito, encontre o diretório Knowledge Modules e clique com o botão direito, selecione a opção Import Knowledge Modules.

5. Na próxima tela iremos selecionar os KMs que vamos utilizar, clique no Loading (LKM) e com o botão direito escolha Import KM e após essa seleção encontre na tela o KM a ser importado LKM File to SQL, depois repita o procedimento para o Integration (IKM) e selecione o KM IKM SQL Incremental Update e o último passo é para o Check (CKH) e selecione o KM CKM SQL conforme a figura abaixo demonstra, após as seleções clique OK.

6. Após importar os KMs a visão da pasta, a estrutura de projeto deverá ser idêntica a que apresento na figura abaixo:

ODI – Criação da Interface para Importação

Podemos perceber que não fizemos a configuração de Modelo de Dados tão pouco de Topologia, isto devido ao fato que iremos utilizar a mesma tabela criada no artigo anterior (SRC_CITIES) e também iremos utilizar o mesmo Arquivo Texto (EXP_CIDADES.TXT).

Faça um backup do arquivo EXP_CIDADES.TXT, e em seguida preencha o arquivo de acordo com a figura abaixo:

Para criar a nossa interface siga os passos abaixo:

1. No módulo ODI Designer, clique na aba Project. Expanda nosso projeto Import- Texto-Tabelas, então expanda a pasta Import-Txt-Tbl. Clique com o botão direito no componente Interfaces e selecione Insert Interface.

2. Na próxima tela, configure os parâmetros da aba Definition de acordo com a tabela abaixo:

Parâmetro ValorName Imp-ArqTxt-TblOptimization Contexto GlobalStaging Area Different From Target

Marcar

Selecione LOGICAL_DW_ORIGEM

3. Clique na aba Diagram, no painel esquerdo da tela clique na aba Models para selecionar os modelos de dados de origem e destino. Arraste o modelo SRC_CITIES para a janela Target DataStore e o modelo CITIES (EXP_CIDADES.TXT) para a janela Sources.

4. No momento em que você arrastou o modelo SRC_CITIES para a janela Target Datastore apareceu uma mensagem igual a figura abaixo, essa mensagem indica que no modelo de origem e no modelo de destino tem alguns campos e/ou todos com o mesmo nome, logo é possível fazer o mapeamento dos campos automaticamente e é isso que iremos fazer. Clique no botão Yes.

5. Se você ver bem o único campo preenchido automaticamente foi o campo STATE. Conforme explicamos anteriormente.

6. Para mapear os demais campos clique no campo Mapping e uma tela igual a que é mostrada abaixo irá aparecer, basta selecionar e arrastar o campo contido na tabela na janela Sources. Outra forma também é digitando o conteúdo dos campos.

Field Name MappingCD_CITY (null) CIT.CD_CITIESNM_CITY (null) CIT.NM_CITIESSTATE (null) CIT.STATE

7. Com a configuração da aba Diagram finalizada, clique na aba Flow. A primeira visão que teremos e a mesma da figura abaixo:

8. Clique sobre cada uma das caixas, perceba que a primeira caixa representa o ambiente origem ou Source, a caixa do meio é a área de transição ou Staging Area e a última caixa é o ambiente destino ou Target. Ao clicar sobre cada uma das caixas teremos as visões mostradas nas figuras abaixo:

Na caixa Source devemos selecionar o LKM que definimos no primeiro passo deste artigo, LKM File to SQL.

Na caixa Target + Staging Area, devemos selecionar o IKM correto, IKM SQL Incremental Update e marcar as opções da caixa Option como Yes de acordo com o demonstrado na tabela abaixo:

Option Value

INSERT YESUPDATE YESCOMMIT YESDELETE_TEMPORARY_OBJECTS YES

9. Com a configuração da aba Flow finalizada, clique na aba Control. E selecione o KM correpondente, neste caso é o CKM SQL.

10.Terminada essas configurações clique no botão Apply e a partir deste instante você poderá clicar no botão OK e sair da interface ou clicar no botão Execute e submeter a interface, ou seja, executar o código que acabamos de criar. Vamos optar pela segunda opção, clique no botão Executar. Selecione o Contexto Global e clique no botão OK. Em seguida clique no botão OK novamente.

11.Agora que a interface Imp-ArqTxt-Tbl foi executa devemos verificar se foi executada com sucesso e em seguida validar a carga dos dados na tabela. Abra o módulo Operator e no painel de sessões procure a execução da sua interface, neste caso fiz a pesquisa em All

Executions e como podem ver na figura abaixo a interface foi executada com sucesso.

12.Agora vamos verificar se a tabela foi carregada corretamente.

Abra o SQL Developr e monte um código SQL para listar apenas o Estado do Rio de Janeiro conforme a figura acima. Veja que a cidade com o código 9608 está com o nome de AMERICANA, mas deveria ser NITEROI, o arquivo que acabamos de carregar está com este pequeno

erro. Para corrigir edite o arquivo texto e altere AMERICANA por NITEROI e execute a interface novamente.

Após a correção do arquivo e re-execução da interface, veja que a tabela foi corrigida, isso se deve ao fato de sido utilizado um IKM que permitiu a Inserção de registros quando os mesmos não existiam e quando existiam permitiu a Atualização do mesmo. Sempre quando for começar uma interface planeje sempre toda a execução do código e as necessidade de comandos e permissões dentro do banco de dados.

top related