Windows - A DTS tervező és a Data Transform Task

DTS 4. rész

forráskód letöltése
Sorozatunk mostani részében a Data Transformation Services alkalmazás szerkesztőjével ismerkedünk, és elkészítünk egy egyszerű adatmásoló task-ot. Mellékletben megtalálható az elkészített példacsomag, amely a Northwind adatbázist felhasználva adatokat másol.
DTS Designer
A DTS Designer egy olyan eszköz, amely segítségével heterogén adatokat importálhatunk, exportálhatunk különféle adatbázisok között. A DTS tervező, a DTS objektum modell grafikus megvalósítása segítségével DTS csomagokat készíthetünk. A következőket tehetjük:
  • Egyszerű csomagokat kreálhatunk (például adatmásolás SQL szerverek között)
  • Létrehozhatunk komplex munkafolyamatokat tartalmazó csomagokat (elágazások, több lépéses végrehajtási folyamat, több adatkapcsolat, komplikált logikai felépítés, eseményvezérelt kód)
  • Meglévő package szerkesztése (pl. DTS Import/Export varázsló által létrehozott csomag editálása)
A DTS Designer-t az Enterprise Manager-en keresztül érhetjük el, a vezérlő fa Data Transformation Services csomópontja alatt. A DTS designer eszköz felhasználói felülete lehetővé teszi, hogy drag-and-drop módon válasszunk ki, kapcsoljunk össze elemeket, majd kitöltsük a tulajdonságlapokat a megfelelő konfigurációs beállításokkal.
Transform Data task
A Transform Data task-ot használjuk adatmásolásra adatforrás és célállomás között és opcionálisan mezőszintű változtatásokat is végezhetünk az adatokon. Ez a task a legegyszerűbb megvalósítása az adatpumpa motornak a DTS-ben.
A Transform Data task-ot adatbeszúrásos másolásra és mezőszintű adatváltoztatásra optimalizálták adatbázisok, táblázatok és text fájlok között. Használható a feladat bármely támogatott OLE DB kapcsolatok közötti másolására. Mivel a task nagyszámú adatforrást és adatmódosító szituációt kezel, gyakran fogjuk kezelni egy vagy több példányát DTS csomag létrehozásához, és különféle forrás adatainak összevonásához.
Kötegelt adat
Ha egy Data Transform task célkapcsolata Microsoft OLE DB Provider for SQL Server, akkor használhatjuk a gyors adatbetöltés opciót, ami az OLE DB IRowsetFastLoad interfészén keresztül elérhető. A gyors betöltés opció nagy teljesítményű kötegelt adatmásolást nyújt. Ha ez az opció be van kapcsolva, az adatpumpa átalakított adatok kötegeit tudja fogadni.
Amikor adatokat kötegelünk, az adatpumpa az átalakított adatokat egy cél puffer tárolóba tölti, de nem küldi az SQL szervernek, amíg el nem éri a meghatározott köteg méretét, vagy amíg az adatforrásról érkező adatok el nem fogynak. Saját függvények írásával befolyásolni tudjuk a kötegelt adatfeldolgozást.
A gyors betöltést nem használhatjuk Data Driven Query task-nál.
Adat transzformációk alkalmazása kötegelésnél
Az adat transzformációk a kötegelt másolás előtt hajtódnak végre. Ez azért van, hogy ugyanazt a mező szintű transzformációt tudjuk használni gyors betöltés esetén és ezen opció nélkül is (pl. ActiveX Script transzformáció).
DTS csomag létrehozása a tervezővel
Az Enterprise Manager segítségével válasszuk ki a Data Transformation Services csomópontot. A csomag mentésének helye attól függ, hogy a Local Packages, vagy a Meta Data Services Packages pontot választjuk.
Csomag konfigurálása, és indítása
Az alábbiakban ismertetjük, hogy a mellékelt példa csomag állományt hogyan készítettük. A csomagot úgy tudjuk megnyitni, ha az Enterprise Manager Data Transformation Services pontján jobb egérgomb menüből az Open package menüpontot választjuk. Jobb egérgomb menüből válasszuk a New Package menüpontot. Válasszuk ki a dts állományt, majd az Employees másolása csomagot.
Így készült a csomag (kezdjünk egy új csomagot):
  • Válasszunk adatforrást.
A kapcsolatok közül húzzunk be egy kiválasztott elemet a tervező felületre, és állítsuk be a tulajdonságait a dialógus ablakban (local) adatbázis, Northwind tábla.
  • Válasszunk célállomást.
Szintén húzzunk be egy kapcsolat objektumot és hasonló módon konfiguráljuk, ugyanazokkal a beállításokkal.
  • Húzzunk egy vonalat a source és destination között.
Kattintsunk az adatforrás ikonra, majd nyomjuk le a CTRL billentyűt, és kattintsunk a célállomás kapcsolatára. Jobb egérgombot nyomjunk az utóbbi ikonon, és kattintsunk a Transform Data Task-ra. Ezen a ponton egy vonal jelenik meg, mutatva az adatfolyamot a két állomás között.
  • Állítsuk be, hogy mely adatok másolódjanak, és hogy hogyan történjen a transzformáció.
Kattintsunk duplán az összekötő vonalra. A Transform Data Task tulajdonságain a source lapon választhatunk adatforrás táblát, vagy lekérdezést készíthetünk a lekérdezés tervezővel. A destination lapon céltáblát választhatunk, vagy új táblát hozhatunk létre. A transform lapon másolást állíthatunk be, vagy módosíthatunk az adaton.
Most válasszuk ki Table/View legördülő menüből a [Northwind].[dbo].[Employees] táblát, majd a destination lapon nyomjuk le a Create gombot, és a szerkesztő ablakban a CREATE TABLE sorban a tábla nevét módosítsuk Employees2-re.
  • Készítsünk script-et az Employees2 tábla létrehozásáról.
Váltsunk át az Enterprise Managerben az adatbázisokra, és válasszuk ki a Northwind adatbázis frissen létrehozott Employees2 tábláját. Jobb egérgombot leütve válasszuk az Összes feladat > Generate SQL script parancsot, és győződjünk meg arról, hogy a Formatting lapon az első két checkbox be van-e pipálva (CREATE és DROP parancsok). Ezután a General lapon válasszuk a Preview-t, és másoljuk vágólapra az elkészült script-et.
  • Hozzunk létre egy Execute SQL Task-ot a script futtatására
Váltsunk vissza a DTS szerkesztőre, és húzzunk be a szerkesztő panelbe egy Execute SQL task-ot. Az Execute connection legördülő menüben válasszuk a célállomás kapcsolatát, és az SQL parancssor panelbe másoljuk be a vágólapra helyezett script-et.
  • Workflow objektum létrehozása a másolás számára
Jelöljük ki az Execute SQL task-ot, és az adatforrás kapcsolatot, majd kattintsunk a Workflow > On Success menüpontra, és már meg is jelent egy zöld szaggatott vonalas nyíl, ami jelzi, hogy a másolás akkor kezdődik el, ha a script előzőleg rendben lefutott.
  • Mentsük el a csomagot az SQL Server 2000 Meta Data Services-be, az SQL Server-be, tároló fájlba, vagy egy visual basic fájlba.
  • Indítsuk a csomagot.
Az eszköztárban kattintsunk az indításra. Ha mindent jól csináltunk, akkor minden egyes indításra az Employees tábláról Employees2 néven egy új másolat készül.

DTS cikksorozat