Andris AŽĒNS
FIRMAS MICROSOFT DATU TRANSFORMĒŠANAS IESPĒJU
IZVĒRTĒJUMS
Bakalaura darbs
Rīga 2003
SATURS
IEVADS......................................................................................................................................7
1. DATU NOLIKTAVA............................................................................................................8
DATU IZSTĀDĪŠANA...................................................................................................10
1.1. DATU
PĀRVEIDOJUMI.........................................................................................10
1.1.1. DATU
ATTĪRĪŠANA..................................................................................11
1.1.2. DATU
PĀRVEIDOŠANA...........................................................................12
1.1.3. DATU
VALIDĀCIJA...................................................................................12
2. DTS APSKATS....................................................................................................................14
2.1. DTS DESIGNER INSTRUMENTA IZMANTOŠANA........................................ .15
2.2. SAVIENOJUMI..... ............................................................................... ..................16
2.3. UZDEVUMI... ......... ......... ......... ...........................................................................17
2.3.1. UZDEVUMS FILE PROTOCOL
TASK.. ...................... ...........................19
2.3.2. UZDEVUMS ACTIVEX SCRIPT
TASK....................................................21
2.3.3. UZDEVUMS DATA TRANSFORM
TASK... ...................... ....................23
2.3.3.1. DATU DEVĒJA KONFIGURĒŠANA............................................25
2.3.3.2. VAICĀJUMU VEIDOŠANA AR QUERY
DESIGNER.................26
2.3.3.3. PAPILDUS VAICĀJUMA
ĪPAŠĪBAS............................................27
2.3.3.4. DATU SAŅĒMĒJA
KONFIGURĒŠANA.......................................30
2.3.3.5. DATU PĀRVEIDOJUMU KONFIGURĒŠANA............................32
2
2.3.3.6. INFORMĀCIJAS
IEGŪŠANA........................................................35
2.3.3.7. UZDEVUMA
ĪPAŠĪBAS..................................................................36
2.3.4. UZDEVUMS EXECUTE PROCESS TASK.............................................38
2.3.5. UZDEVUMS EXECUTE SQL TASK.......................................................39
2.3.6. UZDEVUMS DATA DRIVEN QUERY TASK.........................................41
2.3.7. UZDEVUMS COPY SQL SERVER OBJECTS TASK.............................42
2.3.8. UZDEVUMS SEND MAIL TASK..............................................................43
2.3.9. UZDEVUMS BULK INSERT TASK..........................................................43
2.3.10. UZDEVUMS EXECUTE PACKAGE TASK............................................44
2.3.11. UZDEVUMS MESSAGE QUEUE TASK.................................................46
2.3.12. UZDEVUMS TRANSFER ERROR MESSAGES TASK.........................47
2.3.13. UZDEVUMS TRANSFER DATABASE TASK.......................................48
2.3.14. UZDEVUMS TRANSFER MASTER STORED PROCEDURES TASK.49
2.3.15. UZDEVUMS TRANSFER JOBS TASK...................................................49
2.3.16. UZDEVUMS TRANSFER LOGINS TASK..............................................49
2.3.17. UZDEVUMS DYNAMIC PROPERTIES TASK......................................49
2.4. PLŪSMAS................................................................................................................51
3. DATU PĀRVEIDOJUMU PRAKTISKA IZVEIDOŠANA................................................52
3.1 DATU ATTĪRĪŠANAS PIEMĒRS...........................................................................52
3.2 DAUDZU PĀRVEIDOJUMU UZDEVUMU REALIZĒŠANA..............................53
SECINĀJUMI...........................................................................................................................59
LITERATŪRA..........................................................................................................................60
3
IEVADS
Mūsdienās datu apjomi aug arvien straujāk un straujāk. Milzīgi, masīvi datu blāķi tiek
iegūti katru dienu. Lai no šiem datiem iegūtu vajadzīgo informāciju, šie dati jāapstrādā. Tā kā
datu apjoms ir milzīgs, tad tos apstrāde aizņems daudz laika un dati būs jau novecojuši, kad
tiek nonāks pie lietotāja.
Lai spētu apstrādāt šo lielo datu apjomu, tika izdomāta datu noliktava, kurā dati tiek
regulāri ievietoti. Dati, kas nonāk datu noliktavā tiek sagrupēti un agregēti, lai tos būtu
vieglāk izmantot.
Viena no galvenajām problēmām ir datu ielāde datu noliktavā. Dati parasti nāk no
dažādām mantotām sistēmām, kas ir dažādu firmu programmatūra. Lai iegūtu labus datus, tie
ir jāattīra, jāpārveido un jāintegrē. Lai šie sarežģītie procesi tiktu veiksmīgi paveikti, ir
nepieciešami labi, automatizēti rīki, kas efektīvi un droši paveiks šo darbu. Viens no šādiem
rīkiem ir firmas Microsoft datu pārveidojuma rīks.
Pirmajā nodaļā tiks izklāstīta teorija par datu noliktavām un datu izstādīšanas procesu.
Otrajā nodaļā tiks apskatīti datu pārveidojumu rīku komplekss DTS. Tiks apskatīti tā
uzdevumi un iespējas. Trešajā nodaļā tiks demonstrēti praktiski piemēri ar DTS rīku
izmantošanu.
4
1. DATU NOLIKTAVA
Datu noliktava ir arhitektūra, kas nodrošina biznesa analītiķus ar tiem nepieciešamo
informāciju. Šī arhitektūra definē kādā veidā informācija tiks nogādāta lietotājiem, kāda tā
izskatīsies un kādi rīki tiks izmantoti, lai piekļūtu šai informācijai. Arhitektūrai var būt
dažādas formas. Datu noliktavas galvenā ideja – atdalīt operatīvos datus no analītiskos
datus[3, 9].
Datu noliktavas apvieno datus no visas organizācijas – no mantotajām datu bāzēm,
galda datu bāzēm, atskaitēm u.c. informācijas avotiem. Šī kolektīvā datu bāze glabā lielu
apjomu agregētus datus, kas ir pieejami plašam lietotāju lokam. Dati var tikt izgūti ar
speciāliem operatīvās analītiskās apstrādes(OAA) rīkiem.
Datu noliktava sastāv no [10]:
a) Datu avotiem, no kuriem dati tiek izgūti
b) Rīkiem, ar kuru palīdzību dati tiek izgūti
c) Datuvēm, kur tiek glabāti dati
d) Vaicājuma un atskaišu rīkiem, kas nodrošina datu analītisko apstrādi
5
1.1. att. Datu noliktavas arhitektūra
Datizrace
Atskaites
Datuve 3
Datu pārveidošana
Datuve 1 Datuve 2
Datu avots 1 Datu avots 2
Datu noliktava
6
1.1. Datu izstādīšana
Datu izstādīšana (data staging [13]) ir datu arhitektūras sastāvdaļa, kurā ietilps datu
izgūšanas, pārveidošanas un kopēšanas procesi starp dažādiem datu avotiem, kas var atrasties
ārpus datu noliktavas. Datu izstādīšana ir viens no svarīgākajiem procesiem datu noliktavas
dzīves ciklā[10].
Datu izstādīšanas apgabals ir datu noliktavas ēvelsols. Tā ir vieta, kur neapstrādātie dati
tiek ielādēti, kombinēti, tīrīti, kombinēti, arhivēti un ātri eksportēti uz vienu vai vairākām datu
noliktavām[4]. Galvenais datu izstādīšanas apgabala mērķis ir sagatavot datu ielādei datu
noliktavā. Datu izstādīšanas apgabalā ar datiem tiek veikti daudz un dažādi pārveidojumi.
1.2. Datu pārveidojumi
Datu pārveidojumi ir viens no galvenajiem procesiem datu noliktavas dzīves ciklā. Tas
ļauj iegūt integrētus, attīrītus un saprotamus datus, uz kuru pamata veikt analītisko procesu.
Pārveidojumi ir atslēga, lai izveidotu vienu integrētu datu avotu. Lai datu pārveidojumi būtu
veiksmīgi, tos ir uzmanīgi un detalizēti jāizplāno[5].
Datiem, kas nāk no citām sistēmām, ir jātiek integrētiem un pārveidotiem, lai tos varētu
ielādēt datu noliktavā. Ja daudzas no avotu sistēmām ir viena ražotāja ražojums, tad šis
pārveidojuma process ir vieglāks, jo parasti ražotājs savus programmatūras ražojumus cenšas
ieturēt vienotā stilā.
7
Datu izgūšana no datu avotiem
Datu validācija
Datu attīrīšana
Datu pārveidošana
Datu ielāde datu noliktavā
1.2. att. Datu pārveidojumu shēma
1.2.1. Datu attīrīšana
Datu attīrīšana (data scrubbing) process, kura laikā dati tiek standartizēti. Datu
attīrīšanas procesu pēc iespējas vairāk ir jācenšas padarīt automatizētu.
Dati, kas nāk no dažādām sistēmām var nebūt saderīgi pat ja tie norāda uz vienu
realitāti. Šādos gadījumos datu attīrīšana palīdz ieveidot vienotu datu standartu un datu ielādes
apgabalā attīrīt datus, lai varētu tos ievietot datu noliktavā. Datu attīrīšana ir nepieciešams
nosacījums, bet ne pietiekams[2, 8] .
1.3. att. Datu attīrīšanas piemērs
Alus CĒSU pils
Cēsu pils alus 4.7%
Cēsu pils alus Alus CĒSU pils 4.7% 0.5l
8
Piemērā redzams, ka dažādās datu bāzēs un sistēmās “Cēsu pils alus” ir aprakstīts
dažādi. Lai jaunajā sistēmā būtu vienots standarts un varētu izgūt datus no vecajām sistēmām,
šie nosaukumi tiek pārveidoti. Ja šādu pārveidojumu nebūtu, tad visi šie trīs produkti tiktu
uzskatīti par dažādākiem un kopējos rādītājus par šo produktu iegūt nevarētu.
1.2.2. Datu pārveidošana
Datu pārveidošana (data transformation) ir process, kura laikā dati maina savu struktūru.
Datu pārveidošanas piemēri[1]:
a) Sadalīt kolonnu vairākās daļās, piemēram, datumu sadalīt šādos komponentos: diena,
mēnesis, ceturksnis un gads.
b) Izskaitļot laukus balstoties uz citu lauku vērtībām, piemēram, izveidot ieņēmumu
kolonnu datu saņēmēja tabulā, ko veido pārdotā daudzumu reizinātas ar preces cenu
lauki datu devēja tabulā.
c) Sapludināt divus laukus vienā, piemēram, vārdu un uzvārdu apvienot vienā laukā.
1.2.3. Datu validācija
Lai ievietotu datus datu noliktavā, tie ir jāpārbauda. Datu validācija ir jāveic, lai
nodrošinātu datu nepretrunīgums un atbilstība. Šis process palielina datu noliktavas
integritāti[10].
9
1.4. att. Datu validācijas shēma
1.4. att. Redzamā shēma parāda datu validācijas procesu. Ja dati neatbilst noteiktajiem
datu integritātes nosacījumiem, tad tie ir nekorekti. Nekorektos datus neievieto datu noliktavā.
Šie dati var tikt pakļauti papildus pārveidojumiem, lai tie atbilstu uzstādītajām datu kvalitātes
prasībām.
jā
nē
Integritātes noteikumu uzstādīšana
Datu izgūšana no avotu sistēmām
Vai dati atbilst integritātes
ierobežojumiem?
Kļūdas ziņojuma ģenerēšana
Datu ielāde datu noliktavā
10
2. DTS APSKATS
SQL Server 2000 piekļūst datu avotiem ar tiešās piekļuves tehnoloģijas palīdzību, kas
tiek saukta par DTS Transformation Engine. Šī tehnoloģija tiek izmantota SQL Server 2000
rīkā Data Transformation Services, ko varētu tulkot kā Datu Pārveidojuma Pakalpojumi.
Izmantojot tiešo piekļuvi, vaicājuma kods tiek netieši nosūtīts DBVS, tādejādi izvairoties no
DTS mehānismu modifikācijas un komandu interpretācijas. Datu pārveidošanas procesā
saskarne ir tāda pati, kā izmantojot datu avota DBVS. Piemēram, ja lietotājs griežas pie
Oracle servera caur DTS pakotni, tiek izmantots tas pats ANSI SQL standarts, kas tiek
izmantots DBVS Oracle. DTS Transformation Engine garantē pilnīgu datu avotu pieejamību.
DTS datu avots var būt ne tikai DBVS, bet arī biroja lietojumprogrammas, piemēram
Microsoft Excel. Izmantojot OLE DB provider for ODBC ar speciālu draiveri, var piekļūt
ODBC – sistēmām, piemēram Sybase un Informix[7].
Izmantojot DTS var radīt jaudīgas, automātiskas sistēmas, kas patstāvīgi veiks datu
kopēšanu no vairākiem avotiem, izpildīs kopējamo datu pārveidojumus un eksportēs datus uz
citām sistēmām. Vienreiz izveidojot datu kopēšanas un pārveidošanas procesu, to var ilgstoši
ekspluatēt.
11
2.1. DTS DESIGNER instrumenta izmantošana
Data Tranformation Services mehānismi lietotājam ļauj izmantot vairāk kā piecpadsmit
uzdevumus, kas ļauj veikt visdažādākās manipulācijas ar datiem un objektiem. DTS Designer
ir ērts un vienkāršs rīks, lai radītu DTS pakotnes, kuras ļauj veikt arī vissarežģītākos datu
transformēšanas uzdevumus.
Lai palaistu DTS Designer ir nepieciešams SQL Server Enterprise Manager panelī
izvēlēties vajadzīgo serveri, kurā vajag izveidot DTS pakotni, un uznirstošajā izvēlnē uz
mapes Data Transformation Services. Tiks atvērts logs DTS Package: <New Package>.
2.1. att. DTS Designer logs
Loga kreisajā pusē ir divi paneļi: Connection – satur savienojumus jeb datu avotus, kas
var tikt izmantoti pārveidojumus. Task – satur uzdevumus, kas nosaka kādi pārveidojumi tiks
veikti ar izvēlētajiem datu avotiem. Izvēlnes Connection un Task dublē attiecīgos paneļus
Connection un Task. Izvēlne Package ļauj veikt dažādas darbības ar pakotni:
a) saglābāt to (komanda Save)
b) saglabāt ar citu nosaukumu (Save As...)
c) izdrukāt (Print...)12
d) palaist pakotni (Execute)
e) pierakstīt komentārus (Add Text Annotation) – var paskaidrot sīkāk kādu savienojumu
vai uzdevumu
f) automātisks objektu izkārtojums (Auto Layout) - visi objekti, kas atrodas darba
apgabalā tiek automātiski sakārtoti
g) izmantot tālummaiņu (Zoom) - palielināt vai samazināt darba apgabala daļu ar
tālummaiņu, pieejamas vērtības no 10% līdz 200% lielam palielinājumam, var izmantot
arī speciālu režīmu, kas objektus palielinās vai samazinās tā, lai visi objekti ietilptu
darba apgabalā un vienmērīgi aizpildītu to
h) pakotnes dažādu objektu un pašas pakotnes īpašību apskatīšana vai pārveidošana
(Disconnected Edit) – izmanto, lai izmainītu pakotnes īpašības, kad vēl nav uzstādīti
datu savienojumi
Tukšais laukums ir darba apgabals, uz kura var novietot dažādus savienojumus un
uzdevumus.
Izvēlne Workflow – definē plūsmas starp dažādiem savienojumiem.
2.2 Savienojumi
Visvienkāršākajā gadījumā lietotājam ir jāuzstāda vismaz divi savienojumi, viens no
kuriem ir importētājs (datu devējs), bet otrs ir eksportētājs (datu saņēmējs). Sarežģītākos
gadījumos var izmantot vairākus datu savienojumus, starp kuriem var izveidot dažādus
sarežģītus pārveidojumus.
Lai nokonfigurētu datu savienojumu DTS pakotnē, kura tiek izveidota ar DTS Designer,
jāizmanto instrumentu panelis Connection. Šajā panelī ir jāizvēlas attiecīgā savienojuma
objekts un jāveic velkatlase, lai novietoto objektu darba apgabalā. Kad objekts būs novietots
darba apgabalā, parādīsies datu savienojuma īpašību logs, kurā būs jānorāda specifiskas
iezīmes. Datu savienojumu iespējams ievietot darba apgabalā veicot dubultklišķi uz izvēlētā
datu savienojuma objekta pogas panelī Connection.
Panelī Connection ir pieejami šādi objekti:
1) Microsoft OLE DB Provider for SQL Server tiek izmantots, lai varētu par datu
savienojumu izmantot Microsoft SQL Server;
2) Microsoft Access domāts piekļūšanai pie datu bāzēm Microsoft Access;
13
3) Microsoft Excel 97-2000 ļauj piekļūt pie elektronisko tabulu failiem Microsoft Excel
(versijas 97-2000);
4) dBase5 tiek izmantots, lai piekļūtu DBVS dBase 5. versijas failiem;
5) HTML File (Source) ļauj izmantot HTML failus kā datu devēju;
6) Paradox5.x domāts piekļūšanai DBVS Paradox 5.x failiem;
7) Text File (Source) tiek izmantots, kad ir vajadzība importēt datus no teksta failiem;
8) Text File (Destination) tiek izmantots, kad ir vajadzība eksportēt datus no teksta failiem;
9) Microsoft ODBC Driver for Oracle ļauj piekļūt DBVS Oracle;
10) Microsoft Data Link domāts patvaļīgu datu savienojuma konfigurēšanai, kas tiek
paveikts ar speciālu UDL failu palīdzību, kas apraksta OLE DB piegādātāju un tā
parametrus. Visus augšminētos datu savienojumus ir iespējams realizēt ar Microsoft
Data Link.
11) Other Connections tiek izmantoti, kad pieslēdzamies datu savienojumam ar ODBC
draiveru palīdzību.
DTS Designer piedāvā lietotājam pietiekoši lielu iespējamo datu savienojumu skaitu. Šo
savienojumu konfigurēšana nav sarežģīta, jo lietotājam nav jāveic papildus darbības
(jāuzstāda draiveri).
2.3. Uzdevumi
DTS Designer ir pieejami šādi uzdevumi:
1) File Protocol Task tiek izmantots, lai piekļūtu failiem, kas atrodas attālinātos serveros
vai arī globālā tīmekļa lappusēs;
2) ActiveX Script Task ļauj izpildīt datu pārveidošanu ar ActiveX skriptu valodu
palīdzību;
3) Transform Data Task standarta mehānisms datu kopēšanai starp diviem
savienojumiem, kas ļauj arī veikt pietiekoši sarežģītas datu pārveidošana;
4) Execute Process Task ļauj izpildīt operētājsistēmas standarta lietojumus, kā arī palaist
pakotnes failus;
5) Execute SQL Task tiek izmantots, lai izpildītu Transact-SQL komandu pakotnes
6) Data Driven Query Task piedāvā lietotājam pašu jaudīgāko datu pārsūtīšanas un
pārveidošanas mehānismu, kurā ir iespēja veidot vaicājumus un uzstādīt papildus
savienojumus ar datu avotiem;
14
7) Copy SQL Server Objects Task domāts, lai kopētu objektus starp diviem SQL Server
2000 vai SQL Server 7.0 serveriem. Kopā ar objektu kopēšanu var veikt arī datu
kopēšanu, tomēr datu pārveidošana ar šo uzdevumu nav iespējama;
8) Send Mail Task ļauj sūtīt ziņojumu izmantojot elektronisko pastu. Bieži tiek
izmantots, lai informētu administratoru (operatoru) par paketes izpildīšanas rezultātu;
9) Bulk Insert Task domāts liela apjoma datu pārsūtīšanai ar lielu ātrumu no un uz teksta
failiem. Šo uzdevumu var veikt arī ar komandrindas utilītu bcp.exe;
10) Execute Package Tas k ļauj palaist DTS pakotnes;
11) Messaga Queue Task piedāvā lietotājam mehānismu, kas ļauj DTS pakotnēm
apmainīties ar informāciju;
12) Transfer Error Messages Task domāta, lai pārsūtītu kļūdas ziņojumus, kas parādās
pakotnes izpildes gaitā, uz attālinātu SQL Server 2000 serveri;
13) Transfer Database Task domāts datu bāžu kopēšanai starp SQL Server serveriem;
14) Transfer Master Stored Procedures Task domāts glabājamo procedūru kopēšanai, kas
var tikt izpildītas uz dažādiem serveriem.
15) Transfer Jobs Task domāts darbu kopēšanai no galvenā uz pakļautajiem serveriem.
16) Transfer Logins Task ļauj veikt ...
17) Dynamic Properties Task ļauj mainīt pakotnes īpašības tās izpildes laikā.
Uzdevumu novietošana darba apgabalā tiek veikta tāpat kā savienojumu novietošana
darba apgabalā t.i. ir jāveic velkatlase vai jāizmanto dubultklišķis. Kad tas ir izdarīts, tiks
atvērts logs, kurā ir jākonfigurē uzdevuma izpildes parametri.
Uzdevuma konfigurēšana atšķirībā no datu savienojuma konfigurēšanas ir diezgan
sarežģīta problēma.
15
2.3.1. Uzdevums File Protocol Task
2.2. att. Uzdevuma File Transfer Protocol Task Properties loga tabulators Location
File Transfer Protocol Task uzdevuma īpašību logs ir redzams 2.2 att. Attēlā redzami 2
tabulatori – Location (datu avota adrese, ar kuru strādās uzdevums) un Files (pārsūtāmo failu
noteikšana).
Pirmajam ieliktnim ir šādi vadības elementi:
1) Description. Šajā laukā tiek ierakstīts vārds, kas identificē uzdevumu pakotnē. Vārdam
jābūt unikālam pakotnes ietvaros.
2) Source. Nolaižamais saraksts satur datu avotus, kas var tikt izmantoti, lai iegūtu failus.
Izvēloties vērtību šajā sarakstā, mainās elementi, kas atrodas opciju grupā. Sarakstā ir
iespējams izvēlēties vienu no šādām divām vērtībām:
Internet Site – šajā gadījumā uzdevums uzstāda savienojumu ar norādīto vietni un
lejupielādēt failu. Tālāk tiks apskatīti elementi, kas tiks attēloti opciju grupā, kad
nolaižamajā sarakstā Source izvēlamies vērtību Internet Site.
16
Directory – Faili tiek nokopēti no viena kataloga uz citu. Jānorāda ceļš elementā
Directory Path.
3) Username - Ja nepieciešama autentifikācija, lai nodibinātu savienojumu ar norādīto
vietni, tad šajā laukā ir jāieraksta lietotāja vārds, ar kura tiesībām tiks nodibināts
savienojums. Pēc noklusēšanas tiek izmantots lietotāja vārds anonymus t.i.
savienojums tiek nodibināts bez konkrēta lietotāja tiesībām.
4) Password - Jāievada parole, kas ir piešķirta Username laukā ierakstītajam lietotājam.
Lietotājam ar lauka username vērtību anonymous parole nav vajādzīga.
5) Number of retries - Šajā laukā tiek ierakstīts mēģinājumu skaits, kas tiks izmantoti, lai
uzdevums nodibinātu savienojumu ar vietni. Ja uzdevums nav nodibinājis
savienojumu šo mēģinājumu laikā, tad uzdevums beidzas neveiksmīgi. Šajā laukā var
ievadīt vērtības no 0 līdz 99.
6) Directory Path.- šajā laukā jānorāda katalogs, kurā tiks saglabāti nolasītie faili. Var
norādīt katalogu, kas atrodas uz kāda no lokālā tīkla cietajiem diskiem.
2.3. att. Uzdevuma File Transfer Protocol Task Properties loga tabulators Files
Kad visi nepieciešamie parametri tabulatorā FTP Location ir norādīti, var pāriet uz
tabulatoru Files. Šajā logā, kas redzams 2.3. att. ir redzami 2 saraksti:
17
Source – Šajā sarakstā redzami faili, kas atrodas norādītajā resursā (vietnē vai
katalogā). Ir iespējams izvēlēties failus no katalogiem.
Destination – Šajā sarakstā ir jāievieto failu vārdi, kas tiks lejupielādēti.
Starp sarakstiem atrodas 4 pogas, kas domātas, lai failus pārvietotu no viena saraksta uz
otru.
2.3.2. Uzdevums ActiveX Script Task
Šis uzdevums ir domāts, lai izpildītu datu pārveidojumus, izmantojot ActiveX skriptu
valodu iespējas. Pēc noklusēšanas ir pieejamas divas valodas VBScript un JavaScript.
Lietotāji var pievienot citu ActiveX skriptu valodu kompilatorus, lai tās varētu izmantot šajā
uzdevumā, piem., PerlScript. Ar šo uzdevumu ir iespējams:
a) izpildīt datu pārveidojumus, kad dati tiek kopēti no datu avota uz datu saņēmēju
b) izveidot funkcijas, kas kontrolē pakotnes izpildīšanas procesu
c) manipulēt ar COM objektiem, kas domāti, lai piekļūtu datiem
d) izveidot un izmantot ADO (ActiveX Data Objects) objektus, piem., savienojums,
komanda, rindu kopas un citus objektus, lai piekļūtu un manipulētu ar datiem
18
2.4. att. Uzdevuma ActiveX Script Task logs
Šis uzdevums aptver visplašākās datu pārveidojuma iespējas, piedāvājot lietotājam visu
skriptu valodu spēku. Piekļūšana datu notiek ar DTS funkciju un mainīgo izmantošanu.
Laukam Description, kas novietots loga augšējā malā, ir tādas pašas funkcijas kā
iepriekšējā uzdevumā, proti šajā laukā ir jānorāda konkrētā uzdevuma vārds.
Lielākais laukums šajā uzdevumā atrodas loga labajā pusē. Tas ir domāts koda
rakstīšanai.
Kodu ir iespējams rakstīt vairākās valodās (protams ne vienlaicīgi). Attiecīgās skriptu
valodas izvēle notiek ar nolaižamā saraksta Language palīdzību, kurā ir iespējams izvēlēties
vienu no divām skriptu valodām: VB Script Language un Jsript Language. Iespējama arī citu
skriptu valodu pievienošana. Zem šī nolaižamā saraksta atrodas saraksts Functions, kurā ir
uzskaitītas visas attiecīgās valodas funkcijas. Zem saraksta Functions ir lauks Entry function,
kas parāda funkcijas vārdu, kas tiks uzskatīta par ieeju attiecīgajā kodā t.i. uzdevuma izpilde
tiks sākta ar šo funkciju. Elementi Language, Functions un Entry Function ir izvietoti
Language tabulatorā. Ir iespējams arī pārslēgt tabulatoru Browser.
19
2.5. att. Uzdevuma ActiveX Script Task logs ar tabulatoru Browser
Attēlā ir redzams ActiveX Script Task uzdevuma logs ar ieslēgtu tabulatoru Browser.
Logā, kas tiek atvērts ar tabulatoru Browser, ir attēlotas konstantes un globālie mainīgie, kas
tiek izmantoti izpildot uzdevumu un pakotni.
Zem loga ar diviem tabulatoriem ir 5 pogas, kas palīdz veidot kodu:
1) Auto Gen – tiek ģenerēts attiecīgās skriptu valodas noklusētais kods
2) Browse... – iespējams ielādēt kodu no faila
3) Parse – tiek pārbaudīta koda sintaktiskā pareizība
4) Save – saglabā kodu failā
5) Undo – atceļ pēdējo darbību (atcelšanas reižu skaits ir ierobežots)
2.3.3. Uzdevums Transform Data Task
Šis uzdevums ir domāts datu kopēšanai starp diviem datu avotiem. Viens no avotiem ir
datu saņēmējs, bet otrs ir datu devējs. Lai varētu palaist šo uzdevumu, vispirms ir jānovieto
darba apgabalā divi savienojumi.
Iezīmējam datu devēju, uzklišķinot tam ar kreiso peles taustiņu, nospiežam uz tastatūras
pogu <Ctrl>, turam to, un tāpat iezīmējam datu saņēmēju. Kad abi avoti ir iezīmēti, jāizvēlas
uzdevums. To varam izdarīt, izvēloties panelī Task pogu Data Transform Task.
Izvēlamies izvēlnē Connections punktu Transform Data Task un uzklišķinam datu
devējam un pēc tam datu saņēmējam.
20
2.6. att. Objektu izvietošana darba apgabalā
Data Transform Task tiek attēlots kā melna bulta, kuras gals norāda uz datu saņēmēju.
Lai konfigurētu šī uzdevuma parametrus, ir jāatver logs Data Transform Task Properties. To
var izdarīt izdarot dubultklišķi uz melnās bultas vai arī vienreiz uzklikšķinot ar labo peles
pogu uz melnās bultas un izvēloties izvēlnē punktu Properties.
21
2.3.3.1. Datu devēja konfigurēšana
2.7. att. Uzdevuma Transform Data Task Properties pirmais tabulators Source
Transform Data Task Properties logs satur 5 tabulatorus. Pirmais tabulators ir Source.
Šis tabulators ļauj definēt datu devēja parametrus:
Description – Šajā laukā jāieraksta vārds, kurš identificē šo uzdevumu. Šim vārdam ir
jābūt unikālam pakotnes ietvaros.
Connection – Šajā laukā tiek attēlots tā savienojuma vārds, kas ir datu devējs. Šo vērtību
nevar mainīt.
Ar opcijas pogu ir jāizvēlas viena no divām pozīcijām:
1) Table/View - jāizvēlas tabula vai skats, no kura tiks kopēti dati. Šajā gadījumā tiks
nokopēti visi dati, kas atrodas izvēlētajā tabulā vai skatā. Ar pogas Preview... palīdzību
var apskatīt datus, kas atrodas izvēlētajā tabulā vai skatā. Izvadītas gan tiks tikai pirmās
200 tabulas vai skata rindas.
2) SQL Query – izvēloties šo opciju kļūst pieejams teksta lauks zem šīs opcijas. Šajā laukā
lietotājs var ierakstīt SQL vaicājumu, ar kura palīdzību var izgūt datus no datu devēja.
22
Zem šī teksta lauka ir 5 pogas: Parameters..., Preview..., Build Query..., Browse..., Parse
Query.
Teksta laukā SQL kodu var ierakstīt trīs veidos:
Uzrakstīt to, arī iekopēt no apmaiņas bufera
Ielādēt gatavu kodu no faila, izmantojot pogu Browse
Izveidot kodu, izmantojot vaicājumu veidotāju Query Builder
2.3.3.2. Vaicājumu veidošana ar Query Designer
2.8 att. Data Transformation Services Query Designer logs
Attēlā redzams logs Data Transformation Services Query Designer, kas atveras, kad tiek
nospiesta poga Query Builder. Šis logs sastāv no vairākiem apgabaliem: Table/View Pane,
Diagram Pane, Grid Pane, SQL Pane, Results Pane.
Table/View Pane – Šis apgabals atrodas loga kreisajā pusē. Tas satur tabulas, skatus un
funkcijas, kas atrodas datu devēja savienojumā. Lai ievietotu tabulas vai skatus vaicājumā, tie
ir jāievieto apgabalā Diagram Pane ar velkatlases palīdzību.
23
Diagram Pane – Šis apgabals atrodas loga augšējā labajā pusē. Šeit tiek attēlotas visas
tabulas, skati un funkcijas, kas tiks izmantotas, lai izveidotu vaicājumus. Ar šī apgabala
palīdzību var atļaut vai aizliegt kādu kolonnu iekļaušanu vaicājuma rezultātos, noteikt saites
starp tabulu kolonnām, norādīt kārtošanas secību un izpildīt citas darbības. Katra tabula vai
skats tiek attēlots kā atsevišķs objekts, kurš sastāv no atsevišķām kolonnām. Var izvēlēties
izvēles rūtiņu pie kādas no kolonnām, lai kolonna parādītos vaicājuma SELECT daļā. Ar labo
peles pogu uzspiežot uz kādu no kolonnām tiek atvērta izvēlne, kurā var izvēlēties kārtošanas
secību šai kolonnai. Kārtošanas secība var būt augoša (Sort Ascending) vai dilstoša (Sort
Descending). Iespējams arī uzstādīt saites starp dažādu tabulu kolonnām. Izmaiņas, kas tiek
veiktas apgabalā Diagram Pane, ir uzreiz redzamas apgabalos Grid Pane un SQL Pane.
Grid Pane – Šis apgabals atrodas labajā pusē, tieši zem apgabala Diagram Pane. Šajā
apgabalā tiek veiktas tās pašas darbības kā Diagram Pane apgabalā. Tikai šīs darbības tiek
savādāk attēlotas. Tomēr iekļaut tabulu vai skatu var tikai ar Diagram Pane. Grid Pane
kolonnas iekļaušana vaicājumā notiek, izvēloties to no saraksta. Turklāt šajā apgabalā var
nodefinēt pseidonīmus kolonnām. Tāpat šeit var noteikt kuras kolonnas tiks izvadītas
vaicājuma rezultātos, kārtošanas secību un ierakstu atlases kritērijus.
SQL Pane – Šis apgabals satur SQL kodu, kas ir uzrakstīts ar augšminēto apgabalu
palīdzību. Ir iespējams SQL kodu rakstīt tieši rakstīt šajā apgabalā, neizmantojot augšminētos
apgabalus.
Results Pane – Šajā apgabalā var apskatīt vaicājuma rezultātus. Lai redzētu šajā
apgabalā izveidotā vaicājuma rezultātus, Data Transformation Services Query Designer loga
rīku joslā jāizvēlas poga ar zaļu trijstūri, kas saucas Execute. Nospiežot šo pogu tiks parādīti
vaicājuma rezultāti. Ja vaicājums būs uzrakstīts sintaktiski nepareizi, tad vaicājuma rezultāti
netiks izvadīti, bet tiks parādīts kļūdas ziņojums.
2.3.3.3. Papildus vaicājuma īpašības
Veidojot vaicājumu ar Query Builder, ir iespējams nokonfigurēt papildus īpašības
vaicājumam, kas ļauj manipulēt ar specifiskiem vaicājuma izpildes parametriem. Lai
nokonfigurētu šos parametrus, izmanto logu Properties, kuru var atvērt uzklišķinot ar peles
labo pogu uz kādu no apgabaliem (izņemot Table/View Pane) Data Transformation Services
Query Designer logā un izvēlnē izvēloties punktu Properties.
24
2.9. att. Papildus īpašību uzstādījuma logs Properties
Logam Properties ir divi tabulatori. Parameters tabulatorā var nodefinēt parametrus.
Tālāk tiks apskatīts tabulatora elementi:
Query Name – Šajā laukā tiek norādīts vaicājuma vārds. Uzdevumā Tranform Data Task
šis lauks ir pieejams tikai lasīšanas režīmā.
Output all columns – izvēloties šo izvēles rūtiņu, vaicājumā tiks izvadītas visas
kolonnas.
DISTINCT values – izvēloties šo izvēles rūtiņu, vaicājumā tiks izvadītas tikai unikāli
ieraksti t.i. ieraksti, kuriem kaut vienā laukā ir atšķirīga vērtība.
GROUP BY extension – šī izvēles rūtiņa būs pieejama tikai tad, kad vaicājumā būs
ietverts GROUP BY vaicājums. Izvēloties šo izvēles rūtiņu ir jāizvēlas viena vērtība no
opciju grupas.
WITH CUBE – rezultāti tiek sagrupēti. Ja ir izmantota agregācija, tad var izmantot
superagregāciju.
WITH ROLLUP – iespēja izmantot superagregāciju.
ALL – vaicājuma rezultātā tiks iekļautas visas grupas, neatkarīgi no tā, vai saistītie ar
šīm grupām dati, ir iekļauti vaicājuma WHERE daļā. Rindām, kas neatbilst izvēles
25
nosacījumiem, visās kolonnās, izņemot tās, kuras piedalās grupēšanā, tiks ierakstītas
vērtības NULL.
TOP - izvēloties šo izvēles rūtiņu, var ierobežot vaicājuma rezultāta rindu skaitu. Tekstā
laukā jāieraksta skaitlis, kas nosaka cik rindas tiks izvadītas kā vaicājuma rezultāts.
PERCENT - izvēloties šo izvēles rūtiņu, rindu skaits, kas tiks izvadītas vaicājuma
rezultātā, tiks noteiktas procentuāli no visa vaicājuma rezultāta rindām. Šajā gadījumā
teksta laukā TOP ievadītajai vērtībai ir jābūt robežās no 0 līdz 100.
WITH TIES - izvēloties šo izvēles rūtiņu, vaicājuma rezultātā tiks iekļautas papildus
rindas, kurām vērtības kolonnās, kas norādītās vaicājuma ORDER BY daļā, sakrīt ar
pēdējās vaicājuma rezultātā iekļautās rindas vērtību.
SQL Comment – Šajā laukā tiek ievadīti komentāri, kas paskaidro vaicājuma būtību.
Šajā laukā būtībā var ievadīt jebkura tipa datus. Ieteicams šajā laukā rakstīt
paskaidrojoša rakstura informāciju, kas vēlāk varētu atvieglot šī vaicājuma izmantošanu
un labošanu. Šie komentāri ir redzami SQL vaicājuma teksta laukā, kas atrodas
Transform Data Task Properties logā tabulatorā Source.
26
2.3.3.4. Datu saņēmēja konfigurēšana
2.10. att. Uzdevuma Transform Data Task Properties otrais tabulators Destination
Attēlā redzams Transform Data Task Properties otrais tabulators Destination, kas
domāts datu saņēmēja konfigurēšanai.
Laukā Connection tiek norādīts datu saņēmēja vārds. Šis lauks ir pieejams tikai lasīšanas
režīmā. Dati, kas ir konfigurēti tabulatorā Source tiek nokopēti uz tabulu tabulatorā
Destination. Šī tabula tiek izvēlēta ar saraksta Table Name palīdzību. Zem šī saraksta ir
redzams teksta lauks, kurā var aplūkot datu saņēmēja tabulas struktūru. Ja datu saņēmējam
nav izveidota tabula vai arī tā neatbilst kādām prasībām, ir iespējams izveidot tabulas ar pogu
Create...
27
2.11. att. Jaunas tabulas struktūras veidošanas logs
Uzspiežot uz pogas Create... tiek atvērts logs Create Destination Table. Lai izveidotu
tabulu ir jāuzraksta SQL kods, kas paveic šo uzdevumu. Teksta laukā, kur ir jāraksta kods jau
sākumā ir SQL kods, kas ļauj izveidot tabulu ar identisku struktūru datu devēja tabulas
struktūrai. Šo kodu ir ērti izmantot, ja ir jānokopē dati viens pret vienu no datu devēja uz datu
saņēmēja tabulu. Bieži datu saņēmēja un datu devēja tabulas ir ar līdzīgiem laukiem un šādos
gadījumos ir nedaudz jāpamaina datu saņēmēja tabulas struktūra.
28
2.3.3.5. Datu pārveidojumu konfigurēšana
2.12. att. Uzdevuma Transform Data Task Properties trešais tabulators Transformations
Šis trešais tabulators logā Transform Data Task Properties. Tas domāts, lai noteiktu kā
notiks datu kopēšanas process t.i. kādi pārveidojumi tiks veikti kopēšanas procesā. Lietotājam
ir jānorāda kura datu devēja tabulas kolonna tiks kopēta kādā no datu saņēmēja tabulas
kolonnām. Laukā Name tiek attēlots izvēlētā pārveidojuma vārds. Lauks Name ir izveidots kā
izvelkamais saraksts, kurā var izvēlēties jebkuru no pārveidojumiem. Pats pārveidojums tiek
attēlots kā bulta no datu devēja uz datu saņēmēju. Zem teksta lauka Name atrodas teksta lauks
Type, kas ir pieejams tikai lasīšanas režīmā. Tas parāda datu pārveidojuma tipu. Zem lauka
Type atrodas 4 pogas:
1) New – izveido jaunu pārveidojumu
2) Edit – labo iezīmēto pārveidojumu
3) Delete – dzēš iezīmēto pārveidojumu
4) Test – pārbauda iezīmēto pārveidojumu
Zem šīm 4 pogām atrodas divi saraksti:
29
Source – satur visas datu devēja kolonnas
Destination – satur visas datu saņēmēja kolonnas
Šie divi saraksti ir savienoti ar bultām, kas norāda attiecīgos datu pārveidojumus. Vienā
pārveidojumā var būt iesaistīti vairāk nekā viens datu devējs un datu saņēmējs.
Zem šie diviem sarakstiem atrodas vēl divas pogas:
Select All – iezīmē visus pārveidojumus
Delete All – dzēst visus pārveidojumus
Kad lietotājs nospiež pogu New, tiek atvērts jauns logs Create New Transformation.
2.13. att. Create New Transformation logs jauna pārveidojuma veidošanai
Šajā logā ir jāizvēlas kāds pārveidojums tiks veikts starp datu devēju un datu saņēmēju.
ActiveX Script pārveidojums paver visplašākās iespējas datu pārveidošanai, jo visus pārējos
pārveidojumus var veikt ar šo pārveidojumu. Nospiežot pogu OK lietotājs nokļūst nākamajā
logā Transformation Options.
30
2.14. att. Datu pārveidojuma īpašību konfigurēšanas logs
Šis logs satur 3 tabulatorus:
1) General – satur vispārīgu informāciju par veidojamo pārveidojumu. Laukā Name var
ievadīt pārveidojuma vārdu. Šim vārdam ir jābūt unikālam uzdevuma ietvaros. Laukā
Type tiek attēlots pārveidojuma tips, kurš tika izvēlēts logā Create New
Transformation. Šis lauks ir pieejams tikai lasīšanas režīmā. Zem lauka Type atrodas
iezīme Sequence, kuras vērtība parāda soli, kurā notiks šis pārveidojums. Šo vērtību
nevar izmainīt lietotājs, jo tā tiek noteikta izveidojot pārveidojumu.
2) Source Columns – šis tabulators domāts, lai formētu datu devēja tabulas kolonnas, kas
tiks apstrādātas šajā pārveidojumā. Šajā logā ir divi saraksti:
Available Columns. Šajā sarakstā ir redzamas visas kolonnas, kuras tika izvēlētas
šajā uzdevumā kā datu devēja avota tabulas.
Selected Columns. Šajā sarakstā ir redzamas visas kolonnas, kuras tiks izmantotas
šajā pārveidojumā kā datu devēja avota kolonnas.
31
Starp abiem sarakstiem atrodas 4 pogas, kas domātas kolonnu ievietošanai un dzēšanai
no Selected Columns saraksta.
3) Destination Columns - šis tabulators domāts, lai formētu datu saņēmēja tabulas
kolonnas, kas tiks apstrādātas šajā pārveidojumā. Šis tabulators ir identisks Source
Columns tabulatoram.
2.3.3.6. Informācijas iegūšana
Ceturtais tabulators uzdevumā Transform Data Task Properties saucas Lookups, kas
paredzēts informācijas iegūšanai. Vairumā gadījumu pārveidojumu ir iespējams izveidot
izmantojot pirmos trīs tabulatorus. Dažos specifiskākos gadījumos ir jāizmanto citi datu avoti
bez tiem, kas ir definēti tabulatoros Source un Destination. Šādos gadījumos var izmantot
informācijas iegūšanu. Informācijas iegūšanais tiek izmantoti vaicājumi. Šie vaicājumi var
tikt izmantoti, lai izpildītu glabājamās procedūras, komandas SELECT, UPDATE, INSERT
un DELETE. Tādā veidā lietotājs var izveidot uzdevumus, kas ne tikai kopēs datus un šo datu
pārveidošanu, bet arī koriģēt datus citās tabulās, ievietojot, izdzēšot vai labojot tajās datus. Šie
vaicājumi var tikt izmantoti, lai datu saņēmēja tabulās ievietotu papildus datus no datu devēja.
Vaicājuma rezultātā iegūtie dati var tikt izmantoti, lai kontrolētu ActiveX scenāriju izpildes
gaitu.
Šajā tabulatorā ir tikai viena tabula Lookups, ar kuras palīdzību tiek konfigurēti šie
vaicājumi. Pēc noklusēšanas uzdevumā nav pieejama neviens vaicājums. Lai izveidotu
vaicājumu jānospiež poga Add, kas atrodas zem šis tabulas. Kolonnā Name ir jānorāda vārds,
kas tiks piešķirts veidojamam vaicājumam. Kolonnā Connection ir nepieciešams izvēlēties
kādu no pakotnē izveidotajiem datu savienojumiem. Vaicājums tiks veidots no šī savienojuma
datiem. Kolonnās Cache ir jānorāda rindu skaits, kas ir jāsaglabā atmiņā. Informācija par
pārājēm rindām tiek pazaudēta. Pēc noklusēšanas tiek uzstādīta vērtība 0, kas nozīmē, ka tiks
saglabātas visas rindas, kas būs iekļautas vaicājuma rezultātos. Paša vaicājuma kods tiek
veidots, uzspiežot uz pogas kolonnās Query. Nospiežot šo pogu tiks atvērts logs Data
Transformation Services Query Designer, kas tika apskatīts arī pētot konfigurācijas iespējas
pirmajā tabulatorā Source.
32
2.3.3.7. Uzdevuma īpašības
2.15. att. Uzdevuma Transform Data Task Properties piektais tabulators Options
Šis attēls attēlo piekto tabulatoru logā Transform Data Task Properties, un tā nosaukums
ir Options. Tas satur elementus, kas ļauj regulēt dažādus uzdevuma izpildes parametrus:
Exception File grupa satur elementus, kas nosaka to, kāda informācija tiks attēlota
izņēmuma situāciju reģistrācijas failā. Var izmantot šādus elementus:
Name. Šajā laukā tiek norādīts izņēmuma faila vārds, kā arī pilns ceļš līdz tam. Šo
vārdu var norādīt uzrakstot to teksta laukā vai arī uzspiežot teksta laukam blakus
novietotajai pogai, kas ļauj interaktīvi norādīt ceļu līdz failam. Fails var atrasties arī uz
kāda cietā diska tīklā.
File Type. Ar šo parametru grupu var norādīt izņēmuma faila tipu. Grupā ietilpst šādas
izvēles rūtiņas:
7.0 format – uzstādot karodziņu šajā izvēles rūtiņā, izņēmuma fails tiks ģenerēts SQL
Server 7.0 servera formātā. Tas ļauj izmantot kļūdu analizatorus, kas tika veidoti
33
agrākām SQL Server versijām. Uzstādot karodziņu šajā izvēles rūtiņā, nākamās
izvēles rūtiņas kļūst nepieejamas.
Error Text – uzstādot šo karodziņu, izņēmumu reģistrācijas failā tiks saglabāta
informācijas par visām kļūdām, kas būs sastaptas uzdevuma izpildes laikā. Šī
informācija ietver: pakotnes vārdu, uzdevuma vārdu, posma sākuma un beigu laiku.
Source error rows – uzstādot šo karodziņu, tiks izveidots fails, kura vārds sakrīt ar
Name laukā ievadīto vārdu, taču šim failam būs paplašinājums . source. Šajā failā tiks
saglabāti visi ieraksti, kurus nav izdevies nokopēt datu saņēmēja tabulā.
Dest error rows – uzstādot šo karodziņu, tiks izveidots fails, kura vārds sakrīt ar Name
laukā ievadīto vārdu, taču šim failam būs paplašinājums . dest. Šajā failā tiks saglabāti
visi ieraksti, kurus nav izdevies ievietot datu saņēmēja tabulā.
File format.. Šīs grupas elementi nosaka izņēmuma situāciju reģistrācijas failu iekšējo
struktūru. Šie elementi nosaka gan izņēmumu reģistrācijas faila, gan failu .source
un .dest struktūras. Iespējams konfigurēt šādus elementus:
Row delimiter – izvelkamais saraksts domāts, lai izvēlētos simbolu vai simbolus, kas
tiks izmantoti, lai failos apzīmētu rindas beigas. Pēc noklusēšanas ir uzstādīta vērtība
{CR}{LF}, kas nozīmē to, ka jau
Var izmantot arī citus simbolus: semikolonu (Semicolon), komatu (Comma),
tabulācijas zīmi (Tab), vertikālo joslu (Vertical Bar) vai jebkuru citu simbolu pēc
izvēles. Atļauts arī izmantot nevienu simbolu (<none>).
Column delimiter – šajā izvelkamajā sarakstā jāizvēlas vērtība, kas tiks izmantota, lai
atdalītu kolonnas. Var izvēlēties kādu vērtību no saraksta (Comma, Semicolon, Tab,
Vertical Bar) vai arī ierakstīt sarakstā patvaļīgu vērtību. Pēc noklusēšanas ir uzstādīta
vērtība Vertcal Bar.
Text qualifier – šajā izvelkamajā sarakstā tiek izvēlēta vērtība, kas nosaka kāds
simbols tiks izmantots, lai ierobežotu teksta rindas, ierakstot tās izņēmumu
reģistrācijas failā. Var izvēlēties vienu no trim vērtībām: <none>, Double Qoute {‘’}
vai Single Qoute {‘}, kā arī ievadīt patvaļīgu simbolu. Pēc noklusēšana ir izvēlēta
vērtība <none>.
Data movement. Šajā grupā atrodas elementi, kas domāti, lai vadītu kopēšanas procesu
pa rindām. Lietotājam ir pieejami vairāki elementi, lai konfigurētu šo procesu:
Max error count. Šajā laukā tiek ierakstīts maksimālais kļūdu skaits, kas tiek
uzskatītas par pieļaujamām, izpildot šo uzdevumu. Rindu kopēšana notiek pa paketēm,
kurās parasti ir vairāk nekā viena rinda. Ja kopējot paketi kaut vienā rindā tiek pieļauta 34
kļūda, tad visa paketes kopēšana tiek atcelta un kļūdu skaitītājs palielinās par vienu
vērtību. Izņēmumu reģistrācijas failā tiek pievienoti attiecīgie ieraksti. Uzdevuma
palaišanas momentā šim skaitītājam ir vērtība 0. Kad kļūdu skaitītāja vērtība pārsniedz
Max error count laukā norādīto vērtību, tad uzdevums tiek uzskatīts par neveiksmīgi
pabeigtu. Pēc noklusēšanas šī lauka vērtība ir 0, kas nozīmē to, ka jau pie pirmās
kļūdas uzdevums beigs darbu un tā izpildes rezultāts būs neveiksme.
Fetch buffer size. Šajā laukā tiek norādīts rindu skaits, kas tiks ievietotas vienā paketē
un tiks apstrādātas vienas operācijas laikā. Pēc noklusēšanas šī lauka vērtība ir 1.
First row. Šajā laukā tiek norādīts rindas numurs, kura tiks nokopēta kā pirmā. Šajā
laukā var norādīt kādu citu (ne 1) rindas numuru, kas ļauj kopēšanas procesu sadalīt
vairākos posmos. Pēc noklusēšanas laukā ir vērtība 1.
Last row. Šajā laukā tiek ievadīta rindas vērtība, kas tiks nokopēta kā pēdējā. Pēc
noklusēšanas lauka vērtība ir 0.
SQL Server. Šajā grupā atrodas elementi, kas specifiski SQL Server datu avotiem.
Izmantojot citus datu avotus, ši grupa nebūs pieejama. Šajā grupā ir pieejami šādi
elementi:
Use fast load – uzstādot karodziņu šajā izvēles rūtiņā, tiks izmantota ātras masīvas
datu pārsūtīšanas mehānisms. Šis mehānisms būs pieejams tikai izvēloties piegādātāju
OLE DB Provider for SQL Server. Ja šis karodziņš nav uzstādīts, tad pārējie elementi
nav pieejami.
Keep NULL values – Ja datu saņēmēja tabulas kolonnā ir nodefinēta noklusēta
vērtība, tad mēģinot ievietot tajā NULL vērtību, tiks saglabāta noklusētā vērtība pat ja
šajā laukā drīkst ievietot NULL vērtības.
2.3.4. Uzdevums Execute Process task
Ar šī uzdevuma palīdzību pakotnes izpildes laikā var palaist jebkuru Windows
lietojumu, piemēram, MS Word vai MS Access. Parasti šie lietojumi ir domāti papildus datu
apstrādei.
35
2.16. att. Uzdevuma Execute Process Task Properties logs
Šim uzdevuma ir iespējams konfigurēt vairākus parametrus:
1) Win32 process – šajā rindā jānorāda izpildāmā faila (exe, com, bat, cmd) vārds un ceļš
līdz tam.
2) Parameters – Šeit norāda komandrindas parametrus, ja tādi ir nepieciešami.
3) Return code - Laukā jāieraksta kods, kas tiks atgriezts uzdevuma veiksmīgas izpildes
gadījumā. Parasti tiek ierakstīts kods 0.
4) Timeout – sekunžu skaits, kuru laikā tiks gaidīta uzdevuma izpilde. Ja process šajā
laikā neizpildās, tad uzdevuma izpilde tiek uzskatītas par nesekmīgu. Pēc
noklusēšanas laukā ir vērtība 0 – uzdevuma izpildes laiks nav ierobežots.
5) Terminate process after timeout – šī izvēles rūtiņa kļūst pieejama tad, kad laukā
Timeout tiek ierakstīta nenulles vērtība. Ja process neizpildās laukā Timeout norādīto
sekunžu laikā, tad tā izpilde tiek apturēta.
2.3.5. Uzdevums Execute SQL Task
Šis uzdevums kalpo Transact-SQL valodas komandu pakotņu izpildei, kas sevī var
iekļaut datu izvēles, ievietošanas, izmainīšanas vai dzēšanas komandas, glabājamo procedūru
izpildi utt. Iespējams arī piešķirt vērtības globālajiem mainīgajiem izpildāmajai pakotnei.
36
2.17. att. Uzdevuma Execute SQL Task Properties logs
Šim uzdevumam var nokonfigurēt vairākus elementus:
1) Existing Connection – ar izvelkamā saraksta palīdzību jāizvēlas viens no pakotnē
nokonfigurētajiem datu savienojumiem.
2) Command time-out – sekunžu skaits, kuru laikā tiks gaidīta vaicājuma izpilde. Ja
process šajā laikā neizpildās, tad vaicājuma izpilde tiek uzskatītas par nesekmīgu. Pēc
noklusēšanas laukā ir vērtība 0 – vaicājuma izpildes laiks nav ierobežots.
3) SQL statement – laukā jānorāda SQL vaicājuma kods, kurš ir jāizpilda
4) Zem SQL statement loga ir redzamas 4 pogas. Pogas Browse..., Build Query... un
Parse Query atvieglo koda uzrakstīšanu un atkļūdošanu. Poga Parameters ir
izmantojama tad, ja tiek izmantots vaicājums ar parametriem. Šī poga tiek izmantota,
lai saistītu vaicājuma parametrus ar globālajiem mainīgajiem.
37
2.3.6. Uzdevums Data Driven Query Task
Šis uzdevums ir līdzīgs Transform Data Task. Atšķirībā no Transform Data Task, šajā
uzdevumā bez datu kopēšanas var izpildīt datu ievietošanu, mainīšanu vai dzēšanu dažādās
tabulās. Šim uzdevumam ir 6 tabulatori.
2.18. att. Uzdevuma Data Driven Query Task Properties loga tabulators Queries
Tabulators Queries domāts, lai norādītu vaicājumus, kas tiks automātiski izpildīti, kad
notiks datu kopēšana. Vaicājumi var tikt izpildīti ar datu avotiem, kas tieši nepiedalās
uzdevuma izpildē.
Tabulatorā Queries konfigurēšanai ir pieejami vairāki elementi:
1) Query Type – vaicājuma tipa norādīšana ar nolaižamā saraksta palīdzību, pieejami
četru tip vaicājumi: Insert, Update, Delete un Select. Zem šī saraksta ir lauks, kurā
jāieraksta attiecīgā vaicājuma kods. Kopumā var ierakstīt 4 vaicājumu (pa vienam
vaicājumam uz katru novelkamā saraksta punktu). SQL kodu var izveidot ar Query
Builder, kuru var palaist nospiežot pogu Build... .
38
2) Destination to parameter mapping – tabulā ir 2 kolonnas: Description – šajā kolonnā
jāizvēlas saņēmēja tabulas kolonnas vārdu, kuras vērtība tiks ievietota parametra vietā,
Parameters – tiek norādīts parametra vārds (parametra numurs). Virs tabulas ir poga
Parse/Show Parameters, kura pārbauda ievadīta vaicājuma sintaksi un atsvaidzina
parametru sarakstu tabulu.
Šis uzdevums piedāvā lielākas datu manipulēšanas iespējas, jo bez pārveidojumā tieši
iesaistītajām divām tabulām, var iekļaut arī citas. Šis uzdevums domāts gadījumiem, ja ir
jāizdara daudz un sarežģīti pārveidojumi ar vairākām datu pārsūtīšanas operācijām.
2.3.7. Uzdevums Copy SQL Server Objects Task
Šis uzdevums atšķiras no iepriekš apskatītajiem. Ja iepriekš apskatītie uzdevumi varēja
pārkopēt datus tabulā ar nodefinētu struktūru, tad šis uzdevums var pārkopēt arī pašu tabulas
struktūru. Ar šo uzdevumu var nokopēt tabulu kopā ar tās indeksiem, integritātes
ierobežojumiem, noklusējumiem utt. Šim uzdevumam gan ir viens būtisks ierobežojums – tas
strādā tikai ar SQL Server 2000 un SQL Server 7.0 datu avotiem.
2.19. att. Uzdevuma Copy SQL Server Objects Task loga tabulators Source39
Tabulatoru Source un Destination logu konfigurēšana nosaka attiecīgi datu devēju un
datu saņēmēju. Tabulators Copy ļauj specificēt objektus, kas tiks nokopēti.
2.3.8. Uzdevums Send Mail Task
Ar šī uzdevuma palīdzību var nosūtīt elektroniskā pasta vēstuli. Lai šo uzdevumu varētu
izmantot sistēmā jābūt instalētam MAPI, kā arī jānokonfigurē SLQ Server Agent pasta
profils. Šī uzdevuma konfigurēšana neatšķiras no parasta e-pasta sūtīšanas. Jānorāda saņēmēja
adrese, temats, ziņojuma teksts un pielikumi.
2.3.9. Uzdevums Bulk Insert Task
Šis uzdevums ļauj ātri iekopēt datus tabulā no teksta faila. Salīdzinot ar citiem
uzdevumiem, šis uzdevums nodrošina vislielāko ātrumu. Uzdevumam gan ir trūkums – nav
iespējams pārveidot datus. Tiek nodrošināts Unicode standarta atbalsts.
2.20. att. Uzdevuma Bulk InsertTask loga tabulators General
40
Description - Šajā laukā tiek ierakstīts vārds, kas identificē uzdevumu pakotnē.
Vārdam jābūt unikālam pakotnes ietvaros.
Existing Connection – ar izvelkamā saraksta palīdzību jāizvēlas viens no pakotnē
nokonfigurētajiem datu savienojumiem.
Destination Table – izvelkamajā sarakstā ir jāizvēlas tabulas nosaukums, kurā tiks
ielādēti dati. Saraksta atsvaidzināšana tiek veikta nospiežot pogu Refresh
Source data file – Tiek norādīts vārds un ceļš failam, no kura tiks ielādēti dati.
Tālāk jāizvēlas viena no 2 opcijām:
1) Use format file – Tiek izmantots speciāls formatēšanas fails, kuram jānorāda vārds
un ceļš. Ja nav gatava faila, tad tādu var radīt interaktīvi, nospiežot pogu Generate,
kas atvērs palīgu, ar kura palīdzību varēs nokonfigurēt nepieciešamās īpašības.
2) Specify f ormat – Šo pārslēgu var izvēlēties ja teksta faila struktūra nav sarežģīta un
nav jāpielieto sarežģīta formatēšana. Tiek izmantoti divi elementi:
Row delimiter – nolaižamais saraksts tiek izmantots, lai izvēlētos simbolu (vai
simbolus), kas apzīmēs nolasāmā datu faila katras rindas beigas.
Column Delimiter – nolaižamajā sarakstā jāizvēlas simbolu, kas apzīmē datu
kolonnas nodalīšanu nolasāmajā failā.
Otrs tabulators Options ir domāts, lai precīzāk konfigurētu datu pārsūtīšanas procesu.
2.3.10. Uzdevums Execute Package Task
Šis uzdevums ļauj palaist vienu pakotni no otras. Šī uzdevuma izmantošana ļauj sadalīt
datu kopēšanas un pārveidošanas procesu uz vairākām daļām. Katra no šīm daļām ir pastāvīga
un var tikt izmantota neatkarīgi no citām daļām.
41
2.21. att. Uzdevuma Execute Package Task tabulators General
Uzdevuma kofigurēšanai pieejami šādi parametri:
1) Description - Šajā laukā tiek ierakstīts vārds, kas identificē uzdevumu pakotnē.
Vārdam jābūt unikālam pakotnes ietvaros.
2) Location – Ar izvelkamā saraksta palīdzību tiek noteikts pakotnes datu avots. Sarakstā
ir trīs vērtības:
3) SQL Server – varēs izvēlēties jebkuru no serverī saglabātajām pakotnēm. Pakotņu
apraksts atrodas datu bāzē Msdb tabulā sysdtpackages;
4) SQL Server Meta Data Services – šajā gadījumā būs pieejam jebkura no pakotnēm,
kas tiek glabāta SQL Server metadatu dienesta struktūrās.
5) Structured Storage File – šajā gadījumā jānorāda fails (strukturizēts COM – fails)
diskā, kurā glabājas pakotne. Ja ir izvēlēts šis punkts, tad elementu grupā būs tikai
lauks Package name.
6) Package Name – Šajā laukā jānorāda DTS pakotnes vārds, kuru ir jāizpilda.
7) Password – Ja pakotnei ir uzstādīta parole, tad tā ir jāieraksta šajā laukā. Pakotni, kurai
uzstādīta parole, bez šī lauka pareizas aizpildīšanas nav iespējams palaist.
42
8) Package ID – Šajā laukā tiek parādīts pakotnes unikālais identifikators.
2.3.11. Uzdevums Message Queue Task
Ar šī uzdevuma palīdzību DTS pakotnes var apmainīties ar simbolu virknēm,
globālajiem mainīgajiem un failiem. Tas tiek realizēts ar Message Queuing tehnoloģijas
palīdzību. Šis uzdevums paver plašas iespējas pakotņu izpildīšanas gaitas vadības
realizēšanai.
Lai šo uzdevumu varētu palaist ir nepieciešams operētājsistēmā uzstādīt Message
Queuing Services dienestu.
2.22. att. Uzdevuma Execute Package Task tabulators General
Uzdevuma kofigurēšanai pieejami šādi parametri:
1) Description - Šajā laukā tiek ierakstīts vārds, kas identificē uzdevumu pakotnē.
Vārdam jābūt unikālam pakotnes ietvaros.
2) Message – Ar izvelkamā saraksta palīdzību ir jāizvēlas viena no divām vērtībām:
Receive messages – ziņojumu saņemšana.
43
Send messages – ziņojumu sūtīšana. Pieejams tikai lauks Messages to be sent
(2.22. att.).
3) Queue – Šajā laukā jānorāda rindas vārds, kurā tiks nosūtīts (saņemts) ziņojums.
Rindas vārds tiek norādīts šādā formātā: datora_vārds\rindas_vārds.
4) Messages to be sent – Šajā laukā ir jāieraksta pārraidāmā ziņojuma teksts.
Zem šī loga atrodas 3 pogas:
a) add – Jauna ziņojuma izveidošana
b) edit – Esoša ziņojuma modificēšana
c) delete – Esoša ziņojuma dzēšana
2.3.12. Uzdevums Transfer Error Messages Task
Šis uzdevums domāts automātisku ziņojumu par kļūdām kopēšanai. Šie ziņojumi
piedāvā ērtu kontroles mehānismu izpildāmo procedūru, trigeru un pakotņu uzpildei.
2.23. att. Uzdevuma Transfer Error Messages Task tabulators Source
Šim uzdevumam ir trīs tabulatori. Tabulatori Source un Destination domāti serveri, kuri
attiecīgi radīs un saņems ziņojumus. Katrā tabulatorā jānorāda cits serveris.
Trešais tabulators saucas Error Messages. Šajā tabulatorā ir pārslēdzējs Error Message
Copy Option, kas var tikt iestādīts vienā no divām pozīcijām:
44
1) All error messages detected at package runtime – Šajā gadījumā tiks uzskaitīti visi
ziņojumi, kas tika radīti pakotnes izpildes laikā.
2) Selected error messages – Šajā gadījumā tiks uzskaitīti visi ziņojumi, kuri atrodas
lietotāja izveidotajās izpildāmajās procedūrās, trigeros, pakotnēs utt. Šie ziņojumi
parasti tiek radīti, kad kādā no uzskatītajiem objektiem, notiek kļūme. Šādā veidā ir
iespējams pārsūtīt tikai tos ziņojumus, kas liecina par kādām konkrētām kļūmēm darba
laikā.
Virs šī pārslēdzēja atrodas tabula user-defined error messages, kurā tiek norādīti dažādi
kļūdas parametri. Pa labi no pārslēdzēja atrodas divas pogas:
Select All – iezīmē visus ziņojumus (kopēšana tiek atļauta);
Clear All – neiezīmē nevienu ziņojumu (kopēšana tiek liegta).
2.3.13. Uzdevums Transfer Database Task
Šis uzdevums ļauj kopēt datu bāzes failu līmenī nevis objektu līmenī, kā tas tiek darīts
uzdevumā Copy SQL Server Objects Task. Uzdevumam Transfer Databases logam ir četri
tabulatori.
2.24. att. Uzdevuma Transfer Database Task tabulators Databases
45
Pirmais un otrais tabulators ir analoģiski uzdevuma Transfer Error Messages Task
pirmajiem diviem tabulatoriem.
Trešais tabulators ir Databases. Šajā tabulatorā atrodas tabula Databases, kura ļauj
izvēlēties, kuras tabulas tiks kopētas vai pārvietotas. Sistēmas tabulas vai tabulas, kas jau
eksistē saņēmēja serverī, nevar kopēt vai pārvietot. Zem šīs tabulas atrodas poga Refresh,
kura atsvaidzina datus tabulās Databases.
Ceturtais tabulators ir File Locations. Ar šī tabulatora palīdzību lietotājs var konfigurēt
dažādas izmaiņas failu kopēšanas procesā. Loga augšējā daļā ir tabula, kurā var noteikt kāds
cietā diska vietas apjoms būs nepieciešams, lai datus nokopētu. Zem šīs tabulas ir 2 pogas:
1) Modify – datu bāžu failu pārvietošana.
2) Refresh - atsvaidzina informāciju par brīvā cietā diska vietu.
2.3.14. Uzdevums Transfer Master Stored Procedures Task
Šis uzdevums tiek izmantots, lai kopētu glabājamās procedūras no galvenā servera
(master server) uz citiem serveriem. Šī uzdevuma konfigurēšana praktiski neatšķiras no
uzdevuma Transfer Error Messages Task konfigurēšana.
2.3.15. Uzdevums Transfer Jobs Task
Ar šī uzdevuma palīdzību var nokopēt SQL Server Agent uzdevumus starp SQL Server
serveriem. Šī uzdevuma konfigurēšana praktiski neatšķiras no uzdevuma Transfer Error
Messages Task konfigurēšana.
2.3.16. Uzdevums Transfer Logins Task
Ar Transfer Logins Task uzdevuma palīdzību var nokopēt uzskaites ierakstus. Šī
uzdevuma konfigurēšana praktiski neatšķiras no iepriekšējo uzdevumu konfigurēšanas.
2.3.17. Uzdevums Dynamic Properties Task
Šis uzdevums ļauj mainīt pakotņu īpašības to izpildes laikā. Īpašību maiņa var notikt arī
atkarībā no kāda posma rezultāta.
46
2.25. att. Uzdevuma Dynamic Properties Task logs
2.25. att. redzams logs Dynamic Properties Task Properties, kas ļauj konfigurēt
uzdevuma parametrus. Uzdevuma konfigurēšanai domāti šādi elementi:
1) Description - Šajā laukā tiek ierakstīts vārds, kas identificē uzdevumu pakotnē.
Vārdam jābūt unikālam pakotnes ietvaros.
2) Change list – Tabula satur visas īpašības, ko izmaina šis uzdevums. Šajā tabulā ir 3
kolonnas, kas tiek nodefinētas katrai īpašībai, kas tiek izmainīta uzdevuma izpildes
laikā.
Zem tabulas Change list ir 3 pogas:
a) add – Pievienot jaunu īpašību
b) edit – Labot esošu īpašību
c) delete – Dzēst esošu īpašību
Katra īpašība tiek attēlota kā viens ieraksts tabulā Change list.
47
2.4. Plūsmas
Uzdevumi, kas ietilpst vienā pakotnē, var tikt izpildīti neatkarīgi viens no otra vai arī
atkarībā no iepriekšējā uzdevuma rezultāta. Pirmajā gadījumā katrs no uzdevumiem sākas
pakotnes palaišanas brīdī. DTS pakotnes darbība būs pabeigta, kad tiks izpildīts pēdējais
uzdevums.
Daudzos gadījumos ir nepieciešams uzdevumus izpildīt un pie noteiktiem
nosacījumiem.
Plūsmas ir iespējams uzstādīt starp diviem uzdevumiem. Eksistē šāda veida plūsmas:
a) Bez nosacījuma (On Completion) – Šajā gadījumā nākamais uzdevums tiks palaists
neatkarībā no iepriekšējā uzdevuma rezultāta.
b) Veiksmīga (On Success) – Nākamais uzdevums tiek palaists tikai tajā gadījumā, ja
iepriekšējais uzdevums ir beidzies veiksmīgi.
c) Neveiksmīga (On Failure) - Nākamais uzdevums tiek palaists tikai tajā gadījumā, ja
iepriekšējais uzdevums ir beidzies neveiksmīgi.
Lai uzstādītu plūsmu starp diviem uzdevumiem, tie ir jāiezīmē un jāizvēlas izvēlnē
Workflow, kas atrodas DTS Designer logā, kādu no plūsmām. Kad plūsma tiks izvēlēta, tad
starp šiem diviem uzdevumiem, tiks novilkta līnija. Katrai plūsmai līnijas krāsa ir savādāka:
On Completion – zilā krāsa,
On Success – zaļā krāsa,
On Failure – sarkanā krāsa.
Divreiz uzklišķinot uz plūsmas tiek atvērts logs Wokflow Properties, kas ļauj konfigurēt
kartu plūsmu.
2. nodaļā tika izmantots datu avots [1].
48
3. DATU PĀRVEIDOJUMU PRAKTISKA IZVEIDOŠANA
3.1 Datu attīrīšanas piemērs
Datu devējs ir MS Excel izklājlapa ar nosaukumu Alus.
ID Nosaukums Cena(Ls)9801 Pils alus 0.229802 Cēsu gaišais alus 0.249803 Premium alus 0.333.1. att. MS Excel izklājlapa Alus
3.2. att. Datu pārveidojuma shēma
Datu saņēmēja tabulā Alus ir jāievieto pārveidoti dati. Nosaukums ‘Pils alus’ jāpārveido
uz ‘Cēsu pils alus 4.7%’. To var izdarīt ar nelieli ActiveX Script pārveidojumu:
If DTSSource("Nosaukums ") = ("Pils alus") Then
DTSDestination("Nosaukums ") = ("Cēsu pils alus 4.7%")
Else DTSDestination("Nosaukums ") = DTSSource("Nosaukums ")
End If
49
Šajā skriptā meklēts konkrēts nosaukums datu devēja tabulas konkrētā laukā
‘Nosaukums’. Kad tieši šāds nosaukums tiek atrasts, tas tiek aizvietots ar citu nosaukumu un
ievietots datu saņēmēja tabulā laukā ‘Nosaukums’. Citas vērtības šajā laukā tiek pārkopētas
bez pārveidojumiem.
3.3. att. Tabula Alus datu MS SQL Server 2000 datu bāzē VID
Salīdzinot datu saņēmēja tabulas datus (3.3. att.) ar datu devēja tabulas (1.3. att.) datiem
ir redzams, ka viena lauka vērtība ir pārveidota.
3.2 Daudzu pārveidojumu uzdevumu realizēšana
Valsts ieņēmumu dienests (VID) iekasē daudz un dažādus nodokļus. Pārejot uz
jaunākām sistēmām, saglabājas vajadzība izmantot arī veco sistēmu datus.
Eksistē divi avoti, kas apkopo datus par zemes nodokli: MS Access tabula ZN 2002
gads un MS Excel izklājlapu fails ZN 2001 gads. Šajos datu avotos ir informācija par zemes
nodokļa maksātājiem 2001. un 2002. gadā. Vēl ir viens datu avots, kas satur informāciju par
iedzīvotāju ienākuma nodokļa iekasēšanu.
50
3.4. att. ZN 2001 gads izklājlapa
3.5. att. ZN 2002 gads tabula
51
3.6. att. Datu saņēmēja tabulas Zemes nodoklis struktūra
3.7. att. MS Access datu bāzes tabula Ienakuma nodoklis
3.8. att. MS SQL Server 2000 datu bāzes VID tabulas Ienakuma nodoklis struktūra
Kā redzams no attēliem, tad datu devēju un datu saņēmēju tabulu struktūru ir atšķirīga.
Lai varētu datus ievietot SQL Server 2000 tabulā, tie ir jāpārveido.
52
Lai šos datus varētu ievietot datu saņēmēja tabulās nepietiks tikai ar datu
savienojumiem un Data Transform Task uzdevumiem. Būs nepieciešama arī Execute SQL
Task uzdevuma izmatošana, kas izveidos un izdzēsīs tabulas datu saņēmēja datu bāzē. Viens
Execute SQL Task uzdevums būs paredzēts arī datu integritātes pārbaudei.
3.9. att. Kopējā pārveidojumu shēma
Attēlā redzams, ka Execute SQL Task un datu devēja savienojumi ir saistīti ar plūsmām.
Tabulu dzēšanas procesa izpilde neietekmē kopējo pakotnes izpildīšanas procesu. Pakotnes
izpilde tiks pārtraukta, ja kāds no tabulu izveidošanas uzdevumiem vai nodokļa pārbaudes
uzdevums netiks paveikts veiksmīgi.
Visi pārveidojumi tiek veikti ar ActiveX Script palīdzību.
Datu pārveidojumi
Datu devējs Datu saņēmējs Pārveidojuma darbība Kods
ZN 2002 Zemes nodoklis – Lauki ‘Vards’ un DTSDestination("Persona")
53
gads – lauki
‘Vards’,
‘Uzvards’
lauks ‘Persona’ ‘Uzvards’ tiek apvienoti
vienā laukā ‘Persona’
=
Trim(DTSSource("Vards"))
+ (" ") +
Trim( DTSSource("Uzvards"
))
ZN 2001
gads – lauks
‘Kvadr_metri
’ un
ZN 2002
gads – lauks
‘Kvadratmetr
i’
Zemes nodoklis –
lauks ‘Summa’
Datu devēja lauki tiek
reizināti ar konstanti (1
m2 cena) , tādejādi
iegūstot summu, kas
jāmaksā par visu zemes
platību
DTSDestination("Summa") =
DTSSource("Kvadr_Metri")
* 0.13
un
DTSDestination("Summa") =
DTSSource("Kvadratmetri")
* 0.12
Ienakuma
nodoklis –
lauki
‘Alga(Ls)’ un
‘Neapliek_ie
nn(Ls)’
Ienakuma
nodoklis – lauks
‘Apliekama alga’
Alga, no kuras tiek
iekasēti nodokļi, tiek
aprēķināta atņemot no
lauka ‘Alga’ vērtības
lauka ‘Neapliek_ienn’
vērtību
DTSDestination("Apliekama
alga") =
DTSSource("Alga(Ls)") -
DTSSource("Neapliek_
ienn(Ls)")
Ienakuma
nodoklis –
lauki
‘Alga(Ls)’ un
‘Neapliek_ie
nn(Ls)’
Ienakuma
nodoklis – lauks
‘Ien_nodokli’
Nodoklis, ko iekasē ir
25% apmērā no visas
summas, kas tiek aplikts
ar nodokli
DTSDestination("Iek
nodoklis") =
(DTSSource("Alga(Ls)") -
DTSSource("Neapliek_
ienn(Ls)")) * 0.25
Ienakuma
nodoklis –
lauks
‘Datums’
Ienakuma
nodoklis – lauks
‘Gads’
Gads tiek izdalīts no
datuma
DTSDestination("Gads")
=DatePart("yyyy" ,DTSSour
ce("Datums"))
Execute SQL Task uzdevums pārbauda datu devēja datos nav neatbilstības t.i. tiek
pārbaudīts vai iekasējamā nodokļa summa nav mazāka par 0.
ALTER TABLE [Ienakuma nodoklis] 54
ADD CONSTRAINT algas_parbaude
CHECK ([iek nodoklis] > 0)
Kad tiks izdarīti visi pārveidojumi, abās datu saņēmēja tabulās būs ievietoti pārveidoti
dati no datu devēju tabulām.
3.10. att. Datu bāzes VID tabula Zemes nodoklis
3.11. att. Datu bāzes VID tabula Ienakuma nodoklis
55
SECINĀJUMI
Firmas Microsoft piedāvātie datu transformācijas rīki ir pietiekoši labi, lai tos varētu
veiksmīgi izmantot reālu projektu risināšanā. Šie rīki ir pietiekami efektīvi, lai ar tiem varētu
veikt sarežģītus pārveidojumus. Ar šiem rīkiem var veikt ne tikai pārveidojumus, bet arī datu
pārvietošanu, datu struktūru kopēšanu utml. lietas.
Šie rīki ir labi, jo:
1) Šie rīki spēj tikt galā ar jebkura veida pārveidojumiem. Izmantojot uzdevumu
Transform Data Task ir iespējams izvedot sarežģītas pārveidojumu shēmas.
2) Šie rīki ir automatizēti. Lietotājs var vienreiz izveidot DTS pakotni, kura veic
vajadzīgos pārveidojumus un pēc tam palaist pakotni vai arī nozīmēt tai kādus konkrētu
izpildīšanās laikus.
3) Šie rīki ir ļoti ērti. Pateicoties ērtai logu saskarnei, lietotājam ir intuitīvi skaidrs par
darbībām, ko viņš kādā konkrētā brīdī. Visbiežāk izmantojamie procesi var tikt izveidoti ar
ērtiem palīgiem.
Vienīgais trūkums šim produktam laikam ir augstā cena: apm. 20000 dolāru par servera
licenci un 450 dolāru par katru klienta licenci. Taču liels uzņēmums noteikti atgūs šo naudu
un nopelnīs, iegādājoties šo produktu.
56
LITERATŪRA
1. Bain T., Benkovich M., Dewson R.. Professional SQL server 2000 data warehousing
with analysis services - Birmingham : Wrox, 2001. – 667.// Daudz noderīgas informācijas par
par DTS un padomi praktiskai datu noliktavas veidošanai. Labi sagatavoti un izskaidroti
piemēri.
2. Corey M., Abbey M., Arbramson I. SQL server 7 data warehousing - Berkeley, Calif.
: Osborne/McGraw-Hill, 1999. – 478.// Labs avots, lai apgūtu SQL Server pamatus.Ir diezgan
daudz teorētiskā materiāla.
3. Inmon W. H., Terdeman R. H., Imhoff C. Exploration warehousing : turning business
information into business opportunity - New York : Wiley Computer Publ., 2000. – 254.//
Daudz teorētiskas un analītiskas informācijas. Labi izprotamas shēmas, uz kuru pamata
izprast teoriju.
4. Kimball R. The data warehouse lifecycle toolkit : expert methods for designing,
developing, and deploying data warehouses - New York ; Chichester : Wiley Computer
Publishing, 1998. – 771. //Daudz analīzes un dziļš analītisks skatījums. Par maz uzskatāmu
piemēru.
5. Kimball R.., Merz R. The data webhouse toolkit : building the web-enabled data
warehouse - New York ; Chichester : Wiley, 2000. – 401.// Daudz analītiskas informācijas par
doto problēmu.
6. Lou A. The essential guide to data warehousing - Upper Saddle River, N.J. : Prentice
Hall, 2000. – 499.//Daudz noderīgu padomu, taču pietrūkst “dziļuma”.
7. Roff J. ADO: ActiveX data objects - Beijing ; Cambridge, MA : O'Reilly &
Associates, 2001. – 601.//Nedaudz teorijas un daudz koda. Noderīga padziļinātai tēmas
izpratnei.
8. Sanders R. ODBC 3.5 developer's guide - New York ; London : McGraw-Hill, 1999. –
975.//Nedaudz teorijas un daudz koda. Varētu vēlēties vairāk uzskatāmu shēmu.
9. Shapiro J. SQL Server 2000 : the complete reference - Berkeley, Calif. :
Osborne/McGraw-Hill, 2001. – 931.//Laba rokasgrāmata, lai apgūtu SQL Server 2000 bez
priekšzināšanām. Trūkst iedziļināšanās konkrētos jautājumos. Par daudz tiek apskatīta tieši
SQL valoda.
57
10. Singh H. Data warehousing concepts, technologies, implementations, and
management. – Upper Saddle River, N.J. : Prentice Hall PTR, 1998. – 332.// Daudz teorētiska
materiāla. Maz shēmu un vēl mazāk praktisku piemēru.
11. Singh H. Interactive data warehousing - Upper Saddle River, N.J. : Prentice Hall,
1999. – 481.//Labs materiāls, ja ir nekas nav zināms par datu noliktavām Internetā.Varētu būt
vairāk shēmu.
12. Мамаев Е. SQL Server 2000 в подлиннике - С-Пб., БХВ-Петербург, 2001. –
1280.//SQL Server 2000 ceļvedis ar plašu apskatāmo jautājumu loku. Ieteicams iesācējiem.
13. Lielā terminu vārdnīca – termini.lv / Internets. – http://www.termini.lv . Tildes
datorzinātņu vārdnīca, kurā var atrast nozares jaunāko terminu latviskojumus.
58
Top Related