pondělí 29. března 2010

ODI a Soubory jako zdroj nebo cíl (a proč Reverse engineering struktury souboru nic neprovede)

Stejně jako v případě MS Excel nebo MS Access je i pro soubory součástí ODI dodávaná definice technologie včetně konektoru a Znalostních modulů.

Než začnete pracovat se samotným souborem, je potřeba v ODI Topologii pro technologii File, nadefinovat konektor (Data Server) a adresář (Physical Schéma), ve kterém budou soubory umístěny.
Použijte driver com.sunopsis.jdbc.driver.file.FileDriver pomocí kterého bude prováděn reverse engineering. Driver má několik parametrů, tím nejdůležitějším je ENCODING=[encoding_code] (File encoding, default encoding value is ISO8859_1) a možná OPT=TRUE|FALSE (Option optimizes file access on multiprocessor machines for better performances. Using this option on single processor machine may cause performances loss. Default value is FALSE).


Po založení Data Serveru založte Physical Schéma, které ukazuje na adresář se soubory. Je dobré oddělit adresář s daty (schéma) od adresáře s logy a jinými soubory (work schéma), které budou generovány různými „bulk loadery“ při načítání souborů.


Máte-li založené Fyzické schéma, přidejte Logické schéma a kontext.


Reverse-engineering v ODI

Postup pro načtení struktury souboru je jiný než pro databáze:

1. Založte Model, nastavte technologii na File, vyberte Logické schéma, kontext.


2. Do modelu přidejte nový DataStore, na záložce Definition jej pojmenujte (Name) a z adresáře vyberte zdrojový soubor (Resource Name).


3. Na záložce Files nastavte detail ohledně souboru jako je formát (Delimited / Fixed), oddělovač řádků a sloupců.


4. Na záložce Columns klikněte na tlačítko Reverse a ODI provede načtení struktury (jména sloupců, datové typy a šířky) souboru


Pozor! V určitých případech se Vám může stát, že reverse engineering proces nic neprovede. Důvodem je zamknutí DataStore souboru před spuštěním samotného reverse engineering procesu (chování zamykání objektů lze nastavit v menu User parameters / Lock object when opening).
K uzamknutí souboru nejčastěji dochází v případech, kdy během definice souborového DataStore stisknete na tlačítko Apply – tím se DataStore uzamkne (vedle jména souboru je zobrazen zámek) a Reverse sloupců nic neprovede. Vyhnout se tomu můžete tak, že buď změníte chování zamykání objektů a nebo se budete vyvarovat kliknutí na tlačítko Apply před spuštěním Reverse sloupců souboru.


Soubor jako zdroj
V případě, že soubor bude zdrojem, pak využijte dodávané Znalostní moduly pro nahrávání souborů do cílových databází („LKM File to [vaše_cílová_technologie]“ – moduly využívají „bulk loadery“ jednotlivých databází). Pokud žádný modul neodpovídá vaší cílové databázi, pak použijte „LKM File to SQL“ (Loads data from an ASCII or EBCDIC File to any ISO-92 compliant database).

Soubor jako cíl
V případě, že soubor bude cílem, pak můžete:
  1. použít hotové Znalostní moduly pro extrakt dat do souboru

  2. použít utilitu OdiSqlUnload


Erik Eckhardt

Žádné komentáře: