Your SlideShare is downloading. ×
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo Texto
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

ODI Series - Exportar Tabelas para Arquivo Texto

2,326

Published on

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

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

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,326
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
259
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. March 5 2012ODISeriesEste tutorial demonstra os passos necessários para criar umprojeto e uma interface no Oracle Data Integrator (ODI) Exportandopara exportar uma tabela do banco de dados relacionalpara um arquivo texto. Tabelas
  • 2. Visão GeralUma tarefa comum realizada com o Oracle Data Integrator é exportar dados de umatabela de um banco de dados relacional e gerar um arquivo texto. Esta tarefa é comumquando 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 resumeem 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áriospara a geração deste arquivo.Serão utilizados os módulos Designer e Operator. Com o Designer iremos criar oprojeto e as interfaces necessárias, assim como parametrizar todo o ambiente para ageração do arquivo e o módulo Operator para validar a execução do processo.Cenário de TrabalhoImagine-se trabalhando como DBA (Database Administrator) para uma empresa deTelecomunicações. Nesta empresa, você é responsável por gerenciar os bancos dedados e suprir as necessidades de integração de dados com outros sistemas. Emparticular você é responsável por todas as atividades de Carga, transformação evalidaçã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 enã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 acriação de um novo ambiente de trabalho.Com o ambiente criado será necessário criar um projeto e um interface para exportaros dados da tabela relacional para o arquivo texto e lembre-se sempre ORGANIZE SEUPROJETO NO INÍCIO.Pré-resquisitosAntes 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 posterior 2. Ter iniciado os serviços e componentes do bando de dados 3. Ter instalado o Oracle Data Integrator 10g 4. Ter criado o ambiente de trabalho do ODI, repositórios, usuários e etc
  • 3. ODI – Configuração do ProjetoPara 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 Export-Tabelas- Texto, 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. 4. Vamos parametrizar os Knowledge Modules necessários para exportar dados das tabelas para um arquivo texto. Precisamos do IKM SQL to File Append e LKM SQL to SQL. Para importar um KMs, 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. 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 SQL to SQL, depois repita o procedimento para o Integration (IKM) e selecione o KM IKM SQL to File Append conforme a figura abaixo demonstra, após as seleções clique OK.
  • 6. 6. Após importar os KMs a visão da pasta no estrutura de projeto deverá ser idêntica a que apresento na figura abaixo:
  • 7. ODI – Configuração do Banco de DadosPrecisamos criar um datastore, onde teremos as tabelas que serão utilizadas para onosso Projeto. Sigas os passos abaixo para poder criar e popular a tabela: 1. Crie a tabela fonte e popule executando os comandos SQL providos abaixo. Expanda a conexão DW_ORIGEM > Tables > SRC_CITIES e verifique se a tabela foi criada com sucesso. 2. Agora execute os comandos SQL para popular a tabela SRC_CITIES.
  • 8. Nota: No final deste arquivo será disponibilizado os dois scripts de comandosSQL completos.
  • 9. ODI – Configuração do Modelo de DadosPara criar um novo modelo de dados, siga os passos descritos abaixo: 1. Abra o ODI Designer. Clique em na pasta Models e selecione Insert Model Folder. Digite DW_ORIGEM no campo Name. Este passo é importante para organizar os modelos de dados. 2. Após criar a pasta, vamos criar a estrutura do modelo de dados. Para o nosso Projeto o ambiente fonte (origem de dados) é uma tabela, vamos parametrizar este ambiente para poder utilizar a tabela criada no passo anterior. Preencha as informações tal qual descrita na tabela abaixo: Parâmetro Valor Name SRC_TABLES Technology Oracle Logical Schema LOGICAL_DW_ORIGEM
  • 10. 3. Agora clique na aba Reverse e vamos parametrizar a engenharia reversa das tabelas e importar para dentro do ODI a estrutura física das tabelas que estão no banco de dados Oracle. Selecione o Contexto Desenvolvimento, o Tipo de Objeto a ser parametrizado é uma tabela portanto, selecione Table e depois clique nos botões Apply e Reverse nesta sequência.
  • 11. O resultado podemos ver a esquerda do painel de modelo de dados, veja que na estrutura abaixo do modelo que criamos SRC_TABLES existem vários objetos sendo que um deles é a nossa tabela SRC_CITIES.4. Após fazer a engenharia reversa das tabelas, verifique se realmente a tabela foi criada e para isso veja a sequencia abaixo, o primeiro que devemos fazer é selecionar a tabela que queremos: Em seguida clique na tabela SRC_CITIES com o botão direito do mouse e em seguida selecione a opção Data ou View Data. Você deverá ter uma visão dos dados semelhante a figura mostrada abaixo:
  • 12. ODI – Configuração de Topologia para ArqTxtDepois de criar o modelo de dados para o banco de dados devemos configurar autilização de arquivos textos dentro do Oracle Data Integrator. Para essa tarefateremos que utilizar dois módulos do ODI, o módulo Topology para configurar oarmazenamento físico do arquivo e o módulo Designer para configurar o modelo dedados para este arquivo texto.Para criar o esquema físico para um novo modelo de arquivo texto siga os seguintespassos: 1. Entre no módulo Topology. Já dentro do módulo, click na pasta Physical Architecture e selecione Technologies > File. Clique com o botão direito e em seguida selecione a opção Insert Data Server. 2. Uma nova janela irá abrir e nela devemos fazer duas parametrizações, na primeira aba denominada Definition dê um nome para o esquema físico, no nosso caso o nome será EXPORT-TBL-ARQTXT conforme mostrado na figura abaixo.
  • 13. 3. Clique na aba JDBC para configurar a conexão para o arquivo texto. O parâmetro JDBC Driver deve ser preenchido com com.sunopsis.jdbc.driver.file.FileDriver e o parâmetro JDBC Url deve ser preenchido com jdbc:snps:dbfile.4. Clique no botão Test para verificar se a parametrização feita está correta e em seguida clique no botão Apply para continuar a configuração do esquema físico.
  • 14. 5. Após clicar no botão Apply uma nova janela vai se abrir, para os campos Directory (Schema) e Directory (Work Schema) entre o caminho (diretório) onde os arquivos serão gerados, para nosso projeto utilize o seguinte caminho C:PROCESSOINTEGRACAOARQUIVOS.
  • 15. 6. Ao clicar no botão Apply para continuar a configuração será apresentada uma mensagem de aviso, onde informa que o esquema não possui Context. Neste instante não há problema pois ainda iremos configurar o esquema lógico e o contexto, resolvendo o problema. Caso não façamos essa configuração não será possível utilizar as estruturas de arquivo texto. Clique no botão OK.7. Para verificar se o esquema físico foi criado corretamente veja ao lado esquedo da tela de navegação se exite o esquema EXPORT-TBL-ARQTXT criado, abrindo o esquema como se fosse um diretório (clicando no símbolo “+”) devemos ter a mesma visão que a figura abaixo nos mostra.8. Dentro do módulo Logical Architecture vá até Technologies > File, com o botão direito selecione a opção Insert Logical Schema.
  • 16. 9. Uma nova janela será aberta, nela devemos parametrizar o esquema lógico para geração do arquivo texto, lembrando que no momento em que estamos desenvolvendo uma interface o objeto atribuído como esquema de trabalho de parametrização sempre é o esquema lógico por isso sua importância é vital. Para manter a padronização iremos utilizar o mesmo nome do esquema físico no esquema lógico EXP-TBL-ARQTXT. Neste passo também devemos definir quais são os Contextos que iremos utilizar, para o nosso projeto iremos utilizar os Contextos Global e Desenvolvimento. Para parametrizar basta clicar no campo Physical Schema que um Drop List será apresentado, selecione o esquema físico correpondente e em seguida clique no botão OK.10. Valide se o esquema lógico foi criado, veja no painel de navegação se o esquema lógico foi criado.
  • 17. ODI – Configuração de Modelo para ArqTxtDepois de criar a topologia física e lógica para o nosso arquivo texto é o momento paraconfigurar o modelo de dados para o arquivo texto. Para criar o modelo de dados sigaos passos abaixo: 1. No módulo Designer vá até a aba Models e clique com o botão direito sobre o diretório que já criamos anteriormente DW_ORIGEM, selecione a opção Insert Model conforme apresentado na figura abaixo: 2. Uma nova janela será apresentada, iremos preencher os parâmetros nas abas Definition e Reverse, conforme a tabela abaixo e as figuras ilustrativas: Parâmetro Valor Name SRC_FILES Technology File Logical Schema EXPORT-TBL-ARQTXT Context Global Type of object to Reverse-Engineer Table
  • 18. Aba Definition. Aba Reverse. Diferentemente do modelo de dados do banco de dados, não devemos fazer o Reverse-engineer pois não temos o arquivo criado, logo não haverá referência para a engenharia-reversa. Após a configuração clique no botão OK.3. Veja se o modelo de dados foi criado, navegando no painel a esquerda, o resultado deve ser algo semelhante a figura abaixo:
  • 19. 4. Agora você deve criar a estrutura do arquivo texto, para isso clique com o botão direito sobre o modelo criado SRC_FILES e selecione a opção Insert Datastore.5. Uma nova janela será aberta, nela devemos configurar as abas Definition, Files e Columns. Utilze a tabela abaixo para configuração dos campos:
  • 20. Parâmetro (Aba Definition) ValorName CITIESAlias CITDatastore Type TableOLAP Type <Undefined>Resource Name EXP_CIDADES.TXT Parâmetro (Aba Files) ValorFile Format DelimitedHeading (Number of Lines) 1Record Separator MS-DOSField Separator OtherSymbol Field Separator “;”
  • 21. Para criar os campos manualmente clique no botão . Name Type Physical Length Logical Length CD_CITIES String 8 8 NM_CITIES String 80 80 STATE String 2 26. Terminada a configuração clique no botão OK e verifique no painel de navegação a esquerda se o seu modelo de dados foi criado.
  • 22. ODI – Criação da Interface para ExportaçãoPara criar a nossa interface siga os passos abaixo: 1. No módulo ODI Designer, clique na aba Project. Expanda nosso projeto Export-Tabelas-Texto, então expanda a pasta Export-Tbl-Txt. 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 Valor Name Exp-Tbl-ArqTxt Optimization Context Global Staging Area Different From Target Marcar Selecione SUNOPSIS_MEMORY_ENGINE 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 a modelo SRC_CITIES para a janela Sources e o modelo CITIES (EXP_CIDADES.TXT) para a janela Target DataStore.
  • 23. 4. No momento em que você arrastou o modelo 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 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 igua a que é mostrada abaixo irá aparecer, basta selecionar e arrastar o campo
  • 24. contido na tabela na janela Sources. Outra forma também é digitando o conteúdo do campos. Field Name Mapping CD_CITIES (null) SRC_CITIES.CD_CITY NM_CITIES (null) SRC_CITIES.CD_CITY STATE (null) SRC_CITIES.STATE7. 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:
  • 25. Na caixa Source devemos selecionar o LKM que definimos no primeiro passodeste artigo, LKM SQL to SQL.Na caixa Staging Area não devemos marcar nenhuma opção, pois para o nossoexemplo não é necessário.Na caixa Target, devemos selecionar o IKM correto, IKM SQL to File Appende também marcar todas as opções da caixa Option como Yes. Parâmetro ValorINSERT YesTRUNCATE YesGENERATE_HEADER Yes
  • 26. 9. 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.10. Agora que a interface Exp-Tbl-ArqTxt foi executada devemos verificar se foi executada com sucesso e em seguida validar a criação do arquivo texto, entrando no diretório e abrindo o arquivo. Abra o módulo Operator e no painel de sessões procure a execução da sua interface, neste caso fiz a pesquisa por data e como podem ver na figura abaixo a interface foi executada com sucesso.
  • 27. 11. Agora vamos até o diretório onde o arquivo texto foi criado.12. Visão final do arquivo texto criado.
  • 28. Comandos SQLComando SQL para criar a tabela: -- Create Table SRC_CITIES CREATE table "SRC_CITIES" ( "CD_CITY" NUMBER(8,0) NOT NULL, "NM_CITY" VARCHAR2(80), "STATE" VARCHAR2(2), primary key("CD_CITY") );Comando SQL para popular a tabela: -- Populate Table SRC_CITIES insert into "SRC_CITIES" values (00105,ADAMANTINA,SP); insert into "SRC_CITIES" values (00204,ADOLFO,SP); insert into "SRC_CITIES" values (00303,AGUAI,SP); insert into "SRC_CITIES" values (00402,AGUAS DA PRATA,SP); insert into "SRC_CITIES" values (00501,AGUAS DE LINDOIA,SP); insert into "SRC_CITIES" values (00550,AGUAS DE SANTA BARBARA,SP); insert into "SRC_CITIES" values (00600,AGUAS DE SAO PEDRO,SP); insert into "SRC_CITIES" values (00709,AGUDOS,SP); insert into "SRC_CITIES" values (00758,ALAMBARI,SP); insert into "SRC_CITIES" values (00808,ALFREDO MARCONDES,SP); insert into "SRC_CITIES" values (01004,ALTINOPOLIS,SP); insert into "SRC_CITIES" values (01103,ALTO ALEGRE,SP); insert into "SRC_CITIES" values (01152,ALUMINIO,SP); insert into "SRC_CITIES" values (01202,ALVARES FLORENCE,SP); insert into "SRC_CITIES" values (01301,ALVARES MACHADO,SP); insert into "SRC_CITIES" values (01400,ALVARO DE CARVALHO,SP); insert into "SRC_CITIES" values (01509,ALVINLANDIA,SP); insert into "SRC_CITIES" values (01608,AMERICANA,SP); insert into "SRC_CITIES" values (01707,AMERICO BRASILIENSE,SP); insert into "SRC_CITIES" values (01806,AMERICO DE CAMPOS,SP); insert into "SRC_CITIES" values (01905,AMPARO,SP); insert into "SRC_CITIES" values (02002,ANALANDIA,SP); insert into "SRC_CITIES" values (02101,ANDRADINA,SP); insert into "SRC_CITIES" values (02200,ANGATUBA,SP); insert into "SRC_CITIES" values (02309,ANHEMBI,SP); insert into "SRC_CITIES" values (02507,APARECIDA,SP);

×