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.