SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
March 5




                               2012
ODI
Series
Este tutorial demonstra os passos necessários para criar um
projeto e uma interface no Oracle Data Integrator (ODI)       Exportando
para exportar uma tabela do banco de dados relacional
para um arquivo texto.
                                                              Tabelas
Visão Geral
Uma tarefa comum realizada com o Oracle Data Integrator é exportar dados de uma
tabela de um banco de dados relacional e gerar um arquivo texto. 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 a geração deste arquivo.

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
geração do arquivo 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é-resquisitos
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 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
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 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. 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. 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. Após importar os KMs a visão da pasta no estrutura de projeto deverá ser
   idêntica a que apresento na figura abaixo:
ODI – Configuração do Banco de Dados
Precisamos criar um datastore, onde teremos as tabelas que serão utilizadas para o
nosso 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.
Nota: No final deste arquivo será disponibilizado os dois scripts de comandos
SQL completos.
ODI – Configuração do Modelo de Dados
Para 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
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.
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:
ODI – Configuração de Topologia para ArqTxt
Depois de criar o modelo de dados para o banco de dados devemos configurar a
utilização de arquivos textos dentro do Oracle Data Integrator. Para essa tarefa
teremos que utilizar dois módulos do ODI, o módulo Topology para configurar o
armazenamento físico do arquivo e o módulo Designer para configurar o modelo de
dados para este arquivo texto.

Para criar o esquema físico para um novo modelo de arquivo texto siga os seguintes
passos:

   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.
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.
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.
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.
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.
ODI – Configuração de Modelo para ArqTxt
Depois de criar a topologia física e lógica para o nosso arquivo texto é o momento para
configurar o modelo de dados para o arquivo texto. Para criar o modelo de dados siga
os 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
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:
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:
Parâmetro (Aba Definition)                Valor
Name                             CITIES
Alias                            CIT
Datastore Type                   Table
OLAP Type                        <Undefined>
Resource Name                    EXP_CIDADES.TXT




        Parâmetro (Aba Files)                 Valor
File Format                      Delimited
Heading (Number of Lines)        1
Record Separator                 MS-DOS
Field Separator                  Other
Symbol Field Separator           “;”
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                 2




6. 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.
ODI – Criação da Interface para Exportação
Para 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.
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
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.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 SQL to SQL.




Na caixa Staging Area não devemos marcar nenhuma opção, pois para o nosso
exemplo não é necessário.




Na caixa Target, devemos selecionar o IKM correto, IKM SQL to File Append
e também marcar todas as opções da caixa Option como Yes.

            Parâmetro                               Valor
INSERT                                Yes
TRUNCATE                              Yes
GENERATE_HEADER                       Yes
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.
11. Agora vamos até o diretório onde o arquivo texto foi criado.




12. Visão final do arquivo texto criado.
Comandos SQL
Comando 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');

Contenu connexe

Tendances

Tendances (20)

JDBC ppt
JDBC pptJDBC ppt
JDBC ppt
 
Database testing
Database testingDatabase testing
Database testing
 
Actualizacion de base de datos desde Visual Basic
Actualizacion de base de datos desde Visual Basic Actualizacion de base de datos desde Visual Basic
Actualizacion de base de datos desde Visual Basic
 
ODI Tutorial - Desenvolvendo Procedures
ODI Tutorial - Desenvolvendo ProceduresODI Tutorial - Desenvolvendo Procedures
ODI Tutorial - Desenvolvendo Procedures
 
Reporte Java con JasperReport
Reporte Java con JasperReportReporte Java con JasperReport
Reporte Java con JasperReport
 
Java practical(baca sem v)
Java practical(baca sem v)Java practical(baca sem v)
Java practical(baca sem v)
 
Servicio web soap en java con net beans
Servicio web soap en java con net beansServicio web soap en java con net beans
Servicio web soap en java con net beans
 
react amazon clone 2021
react amazon clone 2021react amazon clone 2021
react amazon clone 2021
 
Python my sql database connection
Python my sql   database connectionPython my sql   database connection
Python my sql database connection
 
Java 8 Date-Time API
Java 8 Date-Time APIJava 8 Date-Time API
Java 8 Date-Time API
 
ODI Tutorial - Configuração Topologia
ODI Tutorial - Configuração TopologiaODI Tutorial - Configuração Topologia
ODI Tutorial - Configuração Topologia
 
SQL Queries
SQL QueriesSQL Queries
SQL Queries
 
Db2 cheat sheet for development
Db2 cheat sheet for developmentDb2 cheat sheet for development
Db2 cheat sheet for development
 
Database Access With JDBC
Database Access With JDBCDatabase Access With JDBC
Database Access With JDBC
 
Reactjs
Reactjs Reactjs
Reactjs
 
Java swing
Java swingJava swing
Java swing
 
Sql
SqlSql
Sql
 
WEB DEVELOPMENT USING REACT JS
 WEB DEVELOPMENT USING REACT JS WEB DEVELOPMENT USING REACT JS
WEB DEVELOPMENT USING REACT JS
 
State Management in ASP.NET
State Management in ASP.NETState Management in ASP.NET
State Management in ASP.NET
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with Overview
 

En vedette

Odi tutorial configuração repositórios mestre e trabalho
Odi tutorial   configuração repositórios mestre e trabalhoOdi tutorial   configuração repositórios mestre e trabalho
Odi tutorial configuração repositórios mestre e trabalhoCaio Lima
 
Essbase Series - Questões para Entrevistas
Essbase Series - Questões para EntrevistasEssbase Series - Questões para Entrevistas
Essbase Series - Questões para EntrevistasCaio Lima
 
Essbase Series - Backup
Essbase Series - BackupEssbase Series - Backup
Essbase Series - BackupCaio Lima
 
ODI SERIES - Melhores Práticas
ODI SERIES - Melhores PráticasODI SERIES - Melhores Práticas
ODI SERIES - Melhores PráticasCaio Lima
 
ODI SERIES - Como mapear novos campos em modelos e interfaces
ODI SERIES - Como mapear novos campos em modelos e interfacesODI SERIES - Como mapear novos campos em modelos e interfaces
ODI SERIES - Como mapear novos campos em modelos e interfacesCaio Lima
 
ESSBASE Series - Excel Add-in Essbase
ESSBASE Series - Excel Add-in EssbaseESSBASE Series - Excel Add-in Essbase
ESSBASE Series - Excel Add-in EssbaseCaio Lima
 
ODI Series - Treinamento
ODI Series - TreinamentoODI Series - Treinamento
ODI Series - TreinamentoCaio Lima
 
Odi tutorial glossário e termos técnicos
Odi tutorial   glossário e termos técnicosOdi tutorial   glossário e termos técnicos
Odi tutorial glossário e termos técnicosCaio Lima
 

En vedette (8)

Odi tutorial configuração repositórios mestre e trabalho
Odi tutorial   configuração repositórios mestre e trabalhoOdi tutorial   configuração repositórios mestre e trabalho
Odi tutorial configuração repositórios mestre e trabalho
 
Essbase Series - Questões para Entrevistas
Essbase Series - Questões para EntrevistasEssbase Series - Questões para Entrevistas
Essbase Series - Questões para Entrevistas
 
Essbase Series - Backup
Essbase Series - BackupEssbase Series - Backup
Essbase Series - Backup
 
ODI SERIES - Melhores Práticas
ODI SERIES - Melhores PráticasODI SERIES - Melhores Práticas
ODI SERIES - Melhores Práticas
 
ODI SERIES - Como mapear novos campos em modelos e interfaces
ODI SERIES - Como mapear novos campos em modelos e interfacesODI SERIES - Como mapear novos campos em modelos e interfaces
ODI SERIES - Como mapear novos campos em modelos e interfaces
 
ESSBASE Series - Excel Add-in Essbase
ESSBASE Series - Excel Add-in EssbaseESSBASE Series - Excel Add-in Essbase
ESSBASE Series - Excel Add-in Essbase
 
ODI Series - Treinamento
ODI Series - TreinamentoODI Series - Treinamento
ODI Series - Treinamento
 
Odi tutorial glossário e termos técnicos
Odi tutorial   glossário e termos técnicosOdi tutorial   glossário e termos técnicos
Odi tutorial glossário e termos técnicos
 

Similaire à ODI Series - Exportar Tabelas para Arquivo Texto

Similaire à ODI Series - Exportar Tabelas para Arquivo Texto (20)

Tutorial +login+mvc
Tutorial +login+mvcTutorial +login+mvc
Tutorial +login+mvc
 
Introdução ao IBM Data Studio
Introdução ao IBM Data StudioIntrodução ao IBM Data Studio
Introdução ao IBM Data Studio
 
Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7
 
Conectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcConectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbc
 
Tutorial ea padronizado
Tutorial ea   padronizadoTutorial ea   padronizado
Tutorial ea padronizado
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVC
 
CURSO JAVA 01
CURSO JAVA 01CURSO JAVA 01
CURSO JAVA 01
 
Artigo data warehouse bd ii - 2015-1
Artigo data warehouse   bd ii - 2015-1Artigo data warehouse   bd ii - 2015-1
Artigo data warehouse bd ii - 2015-1
 
Artigo data warehouse bd ii - 2015-1 a
Artigo data warehouse   bd ii - 2015-1 aArtigo data warehouse   bd ii - 2015-1 a
Artigo data warehouse bd ii - 2015-1 a
 
Dreamweaver aula 1
Dreamweaver aula 1Dreamweaver aula 1
Dreamweaver aula 1
 
Modelando PostgreSql no ERwin
Modelando PostgreSql no ERwinModelando PostgreSql no ERwin
Modelando PostgreSql no ERwin
 
Aula3
Aula3Aula3
Aula3
 
Crud
CrudCrud
Crud
 
Tutorial ea padronizado
Tutorial ea   padronizadoTutorial ea   padronizado
Tutorial ea padronizado
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
Apostila Android
Apostila AndroidApostila Android
Apostila Android
 
Oracle
OracleOracle
Oracle
 
Java13
Java13Java13
Java13
 
Vb
VbVb
Vb
 
Desenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralDesenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geral
 

ODI Series - Exportar Tabelas para Arquivo Texto

  • 1. March 5 2012 ODI Series Este tutorial demonstra os passos necessários para criar um projeto e uma interface no Oracle Data Integrator (ODI) Exportando para exportar uma tabela do banco de dados relacional para um arquivo texto. Tabelas
  • 2. Visão Geral Uma tarefa comum realizada com o Oracle Data Integrator é exportar dados de uma tabela de um banco de dados relacional e gerar um arquivo texto. 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 a geração deste arquivo. 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 geração do arquivo 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é-resquisitos 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 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 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 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 Dados Precisamos criar um datastore, onde teremos as tabelas que serão utilizadas para o nosso 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 comandos SQL completos.
  • 9. ODI – Configuração do Modelo de Dados Para 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.
  • 13. ODI – Configuração de Topologia para ArqTxt Depois de criar o modelo de dados para o banco de dados devemos configurar a utilização de arquivos textos dentro do Oracle Data Integrator. Para essa tarefa teremos que utilizar dois módulos do ODI, o módulo Topology para configurar o armazenamento físico do arquivo e o módulo Designer para configurar o modelo de dados para este arquivo texto. Para criar o esquema físico para um novo modelo de arquivo texto siga os seguintes passos: 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.
  • 14. 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.
  • 15. 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.
  • 16. 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.
  • 17. 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.
  • 18. ODI – Configuração de Modelo para ArqTxt Depois de criar a topologia física e lógica para o nosso arquivo texto é o momento para configurar o modelo de dados para o arquivo texto. Para criar o modelo de dados siga os 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
  • 19. 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:
  • 20. 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:
  • 21. Parâmetro (Aba Definition) Valor Name CITIES Alias CIT Datastore Type Table OLAP Type <Undefined> Resource Name EXP_CIDADES.TXT Parâmetro (Aba Files) Valor File Format Delimited Heading (Number of Lines) 1 Record Separator MS-DOS Field Separator Other Symbol Field Separator “;”
  • 22. 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 2 6. 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.
  • 23. ODI – Criação da Interface para Exportação Para 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.
  • 24. 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
  • 25. 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.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:
  • 26. Na caixa Source devemos selecionar o LKM que definimos no primeiro passo deste artigo, LKM SQL to SQL. Na caixa Staging Area não devemos marcar nenhuma opção, pois para o nosso exemplo não é necessário. Na caixa Target, devemos selecionar o IKM correto, IKM SQL to File Append e também marcar todas as opções da caixa Option como Yes. Parâmetro Valor INSERT Yes TRUNCATE Yes GENERATE_HEADER Yes
  • 27. 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.
  • 28. 11. Agora vamos até o diretório onde o arquivo texto foi criado. 12. Visão final do arquivo texto criado.
  • 29. Comandos SQL Comando 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');