Windows - DTS transzformációk

DTS 5. rész

A cikksorozat mostani része a DTS oszlopszintű transzformációs lehetőségeiről szól. Segítségével állományokból és állományokba tudunk adatot másolni, változtatni az adaton másolás közben. Készíthetünk VBScriptet is, ami az átalakítást végrehajtja.
Oszlopmegfeleltető transzformációk
A DTS-ben lehetőségünk van adatokat átvinni táblából, vagy összeállított sorokból egy másik táblába úgy, hogy az elérhető transzformációk valamelyikét használjuk. Néhány tranzakciónál az adat átmásolódik. Más esetekben az adat átalakul, vagy a másolás során a transzformáció típusától függő szabályok érvényesítésre kerülnek rajta. A következő módon végezhetünk ilyen transzformációt:
  • Grafikus felületről, a Transform Data task és a Data Driven Query task segítségével a DTS tervezőből. Bármelyik feladat tartalmazhat több transzformációt.
  • Használhatjuk az alapértelmezett oszlop átmásolás transzformációt, vagy ActiveX script-et írhatunk az Import/Export varázslóban. Ez utóbbi eszköz csak erre a két átalakításra használható.
  • Programozottan, a Transform Data és Data Driven Query task-ok, valamint a Parallel Data Pump task segítségével.
Többféle megfeleltetés lehet az oszlopok felhasználását tekintve az átalakítás során. Definiálhatunk 1-1, N-N, és egyenlőtlen forrás és céloszlopból álló transzformációt. Létrehozhatunk saját átalakítást is az IDTSDataPumpTransform interfész segítségével.
Egy az egyhez megfeleltetés
Egy forrás és céloszlop megfeleltetésére használjuk. Alapértelmezésben a DTS a nevükön keresztül kapcsolja egymáshoz a folyamat alatt az oszlopokat.
Az alábbi átalakítás típusok léteznek:
  • Copy Column transformation: Egyszerű adatmásolás.
  • Trim String transformation: Levágja a szöveg elején, végén, vagy közben található üres karaktereket, és ezután írja az adatot a céloszlopba.
  • Date Time String transformation: Dátumformátum konvertálás.
  • Middle of String transformation: A forrás karaktersorozat egy meghatározott részét másolja át, levághat space karaktereket, és kis vagy nagybetűs formára konvertálhat.
  • Read File transformation: Egy forrásban meghatározott módon fájl tartalmat másol a céloszlopokba.
  • ActiveX Script transformation: Leírja, hogy hogyan használjuk az ActiveX script-eket transzformációkhoz.
N az N-hez megfeleltetés
Ez az átalakítás akkor előnyös, ha több egymásnak megfeleltethető oszlop van, és egy folyamatban így el tudjuk végeztetni a transzformációt, nincs szükség külön adatpumpa definiálására minden sorhoz, gyorsabb is az adatátvitel. A Data Driven Query task esetében ez az alapértelmezett.
Transzformáció típusok:
  • Copy Column transformation
  • Uppercase String transformation
  • Lowercase String transformation
  • ActiveX Script transformation
Transzformáció egyenlőtlen számú forrás és céloszlopok esetén
Lássunk néhány példát erre az esetre:
  • Egy vagy több forrás oszlop, céloszlop nélkül
A Write File transformation esetében például egy forrás tábla tartalmazza a fájlba írandó adatot, és a fájl nevét. Ennyi elég is az átalakításhoz, azaz a fájlba íráshoz, és nincs szükség cél oszlopra.
  • Egy vagy több céloszlop, forrásoszlop nélkül
Egy ActiveX script transzformáció esetén lehetséges, hogy pl. csak a céltábla oszlopai adottak, és egy globális változóhoz hozzáadott folyamatosan növekedő értéket töltünk a céltáblába.
  • Se forrás, se cél oszlopok nem adottak
Lehetnek olyan esetek, amikor egy VBScript a futása során nem találkozik egy forrás és céloszloppal sem, ilyenkor csak egy értesítést kapunk, hogy nem történt adatmozgatás.

DTS cikksorozat