V ODI existuje ještě jiná možnost jak generovat textové extrakty z libovolné databáze, a to bez nutnosti zadefinování Topologie, Modelů a vytváření Interfaců. Tou možností je OdiSqlUnload - výkonná bulk utilita pro unload / extrakt dat z různých RDBMS do souboru (flat file nebo XML).
OdiSqlUnload lze využívat přímo ve Workflow, v ODI procedurách nebo v Knowledge modulech - například je využíván v LKM SQL to Teradata / DB2 / MSSQL / SAS nebo Sybase.
Jeho použití je velice jednoduché. Drag&Drop si jej vložíte do workflow
, případně manualně napíšete jeho syntaxi:
OdiSqlUnload -FILE=
a nadefinujete potřebné parametry, jako je název a umístění výstupního souboru, driver, zdrojová databáze, výstupní formát (fixed, delimited, XML), formátování souboru (oddělovače, znaková sada, datum), vstupní SELECT, Fetch Size, ....
UPOZORNĚNÍ: Z důvodu maximální výkonnosti:
- je mnohem lepší nechat veškeré formátování výstupu (oddělovače, formát datumu, kódování, ....) na databázi, tj. místo „select * from table“ použít "select column1 || '~' || column2 from table".
- změnit defaultní hodnotu parametru Fetch Size - počet záznamů, které jsou najednou zapsány do výstupního souboru (výbornou zkušenost mám s hodnotou 100tisíc, ale vše je otázkou RDBMS, OS, dostupné paměti a nastavení runtime parametrů).
Erik Eckhardt.
1 komentář:
your blog is very nice
Okomentovat