mcsd mcad mcse+i mcsa mcdba mct popolare un data warehouse con sql server data transformation...
TRANSCRIPT
www.devleap.it
MCSD MCAD MCSE+I MCSA MCDBA MCSD MCAD MCSE+I MCSA MCDBA MCTMCT
Popolare unPopolare unData Warehouse con Data Warehouse con
SQL Server Data SQL Server Data Transformation Transformation Services (DTS)Services (DTS)
www.devleap.it
Chi siamoChi siamo
www.DevLeap.itwww.DevLeap.itUn gruppo di 5 persone con tanta voglia Un gruppo di 5 persone con tanta voglia
didiStudiare a fondo le tecnologieStudiare a fondo le tecnologieCapire il “behind the scenes”Capire il “behind the scenes”Implementare soluzioni realiImplementare soluzioni realiConfrontarsi con le problematiche realiConfrontarsi con le problematiche realiSperimentare nuove ideeSperimentare nuove idee
Facciamo Corsi, Conferenze, TrainingFacciamo Corsi, Conferenze, Training
www.devleap.it
AgendaAgenda
ETL - Processo di alimentazione di un ETL - Processo di alimentazione di un Data Warehouse Data Warehouse Individuazione fonti datiIndividuazione fonti dati Criteri di normalizzazioneCriteri di normalizzazione Processo logico di alimentazioneProcesso logico di alimentazione
DTS come strumento di ETL DTS come strumento di ETL
www.devleap.it
ETL – processo di ETL – processo di alimentazionealimentazione
www.devleap.it
Implementazione dello Star Implementazione dello Star SchemaSchema
Estrazione di dati da fonti diverseEstrazione di dati da fonti diverse Integrazione, trasformazione e Integrazione, trasformazione e
ristrutturazione dei datiristrutturazione dei dati Caricamento dei dati in tabelle Caricamento dei dati in tabelle
dimensioni e tabelle dei fattidimensioni e tabelle dei fatti
www.devleap.it
Processo di trasformazione dei Processo di trasformazione dei datidati
Validate, Gather ,Validate, Gather , Transform Transform Populate Data Populate Data Distribute Distribute Make Data Consistent Make Data Consistent Data Data WarehouseWarehouse DataData
SalesSales
ServiceService
OtherOther
Data MartsSource OLTP
SystemsTemporary Data
Staging Area
DataDataWarehouseWarehouse
Sales DataSales DataSales DataSales Data
Hardware DataHardware DataHardware DataHardware Data
OracleOracle
SQLSQLServerServer
OtherOther
www.devleap.it
Caricamento dati dimensionaliCaricamento dati dimensionali
Accesso a fonti dati eterogeneeAccesso a fonti dati eterogenee Verifica fonti datiVerifica fonti dati Assicurare consistenza dei datiAssicurare consistenza dei dati Mantenere integrità delle dimensioniMantenere integrità delle dimensioni Gestire il cambiamento dei dati Gestire il cambiamento dei dati
dimensionalidimensionali
www.devleap.it
Accesso a fonti dati eterogeneeAccesso a fonti dati eterogenee
Fonti relazionaliFonti relazionali OLTP system in SQL ServerOLTP system in SQL Server Financial database in AccessFinancial database in Access ……
Fonti non relazionaliFonti non relazionali File di testoFile di testo Fogli elettronici (Excel)Fogli elettronici (Excel) ……
Northwind Northwind OLTPOLTP
SpreadsheetsSpreadsheetsExternal External FilesFilesFilesFiles
FinancialFinancial
www.devleap.it
Verifica fonti datiVerifica fonti dati
Verificare accuratezza fonti datiVerificare accuratezza fonti dati Regole di businessRegole di business Requisiti strutturaliRequisiti strutturali
Gestire dati non validiGestire dati non validi Rifiutare dati non validi nel caricamentoRifiutare dati non validi nel caricamento Salvare dati non validi per successive Salvare dati non validi per successive
correzionicorrezioni
www.devleap.it
Rendere i dati consistentiRendere i dati consistenti
Integrare i dati da fonti diverseIntegrare i dati da fonti diverse Trasformare i dati in un formato Trasformare i dati in un formato
standardizzatostandardizzato
www.devleap.it
Trasformare i datiTrasformare i datiTransformTransform
Change
Combine
Calculate
buyer_namebuyer_namebuyer_namebuyer_name
Barr, AdamBarr, Adam
Chai, SeanChai, Sean
O’Melia, ErinO’Melia, Erin
......
reg_idreg_idreg_idreg_id
22
44
66
......
total_salestotal_salestotal_salestotal_sales
17.6017.60
52.8052.80
8.828.82
......
buyer_namebuyer_namebuyer_namebuyer_name
Barr, AdamBarr, Adam
Chai, SeanChai, Sean
O’Melia, ErinO’Melia, Erin
......
reg_idreg_idreg_idreg_id
22
44
66
......
total_salestotal_salestotal_salestotal_sales
17.6017.60
52.8052.80
8.828.82
......
buyer_namebuyer_namebuyer_namebuyer_name
Barr, AdamBarr, Adam
Chai, SeanChai, Sean
O’Melia, ErinO’Melia, Erin
......
price_idprice_idprice_idprice_id
0.550.55
1.101.10
0.980.98
......
qty_idqty_idqty_idqty_id
3232
4848
99
......
buyer_namebuyer_namebuyer_namebuyer_name
Barr, AdamBarr, Adam
Chai, SeanChai, Sean
O’Melia, ErinO’Melia, Erin
......
reg_idreg_idreg_idreg_id
IIII
IVIV
VIVI
......
total_salestotal_salestotal_salestotal_sales
17.6017.60
52.8052.80
8.828.82
......
buyer_namebuyer_namebuyer_namebuyer_name
Barr, AdamBarr, Adam
Chai, SeanChai, Sean
O’Melia, ErinO’Melia, Erin
......
price_idprice_idprice_idprice_id
0.550.55
1.101.10
0.980.98
......
qty_idqty_idqty_idqty_id
3232
4848
99
......
total_salestotal_salestotal_salestotal_sales
17.6017.60
52.8052.80
8.828.82
......
buyer_firstbuyer_firstbuyer_firstbuyer_first
AdamAdam
SeanSean
ErinErin
......
buyer_lastbuyer_lastbuyer_lastbuyer_last
BarrBarr
ChaiChai
O’MeliaO’Melia
......
reg_idreg_idreg_idreg_id
22
44
66
......
total_salestotal_salestotal_salestotal_sales
17.6017.60
52.8052.80
8.828.82
......
www.devleap.it
Mantenere integrità della Mantenere integrità della dimensionedimensione
Chiave surrogata per ogni recordChiave surrogata per ogni record Definisce la chiave primaria della Definisce la chiave primaria della
dimensionedimensione Collega i campi foreign key della tabella Collega i campi foreign key della tabella
dei fattidei fatti
Caricare un record per ogni chiave Caricare un record per ogni chiave applicativaapplicativa Mantiene univocità nella dimensioneMantiene univocità nella dimensione Dipende da come si gestisce il Dipende da come si gestisce il
cambiamento dei dati dimensionalicambiamento dei dati dimensionali Mantenere l’integrità della tabella dei Mantenere l’integrità della tabella dei
fattifatti
www.devleap.it
Gestire cambiamento dati Gestire cambiamento dati dimensionidimensioni
Dimensioni con valori di colonne che Dimensioni con valori di colonne che cambianocambiano Inserire nuovi datiInserire nuovi dati Modificare dati esistentiModificare dati esistenti
Soluzione di disegno per slowly-Soluzione di disegno per slowly-changing Dimensionchanging Dimension Type 1: Sovrascrivere il record della Type 1: Sovrascrivere il record della
dimensionedimensione Type 2: Scrivere un altro record nella Type 2: Scrivere un altro record nella
dimensionedimensione Type 3: Aggiungere attributi al record Type 3: Aggiungere attributi al record
della dimensionedella dimensione
www.devleap.it
Definire caricamento tabella dei Definire caricamento tabella dei fattifatti
Accesso a fonti dati eterogeneeAccesso a fonti dati eterogenee Come per dimensioniCome per dimensioni
Verifica fonte datiVerifica fonte dati Come per dimensioniCome per dimensioni
Assegnare foreign keyAssegnare foreign key Definire misureDefinire misure Mantenere integrità dei datiMantenere integrità dei dati
www.devleap.it
Assegnare Foreign KeyAssegnare Foreign Key
Identificare chiave Identificare chiave applicativa dimensionale nei applicativa dimensionale nei dati che alimentano la dati che alimentano la tabella dei fattitabella dei fatti
Recuperare le chiavi Recuperare le chiavi primarie da ogni tabella primarie da ogni tabella dimensionale per assegnare dimensionale per assegnare le foreign keyle foreign key
DimensionTables
DimensionTables
customer_dimcustomer_dimcustomer_dimcustomer_dim201 ALFI Alfreds201 ALFI Alfreds
product_dimproduct_dimproduct_dimproduct_dim 25 123 Chai 25 123 Chai
Sales Fact Source Data
customer idcustomer id
ALFI 123 1/1/2000 400
134 1/1/2000134 1/1/2000
time_dimtime_dimtime_dimtime_dim
product idproduct id order dateorder date quantity_salesquantity_sales amount_salesamount_sales
10,789123 1/1/2000 400 10,789
www.devleap.it
Definire misureDefinire misure
Caricare le Caricare le misure dalla misure dalla fonte datifonte dati
Calcolare Calcolare misure misure aggiuntive / aggiuntive / derivatederivate
Source System Data Source System Data
Fact Table Data Fact Table Data
customer_idcustomer_idcustomer_idcustomer_id
VINETVINET
ALFIALFI
HANARHANAR
......
product_idproduct_idproduct_idproduct_id
9GZ9GZ
1KJ1KJ
0ZA0ZA
......
pricepricepriceprice
.55.55
1.101.10
.98.98
......
qtyqtyqtyqty
3232
4848
99
......
customer_keycustomer_keycustomer_keycustomer_key
100100
238238
437437
......
product_keyproduct_keyproduct_keyproduct_key
512512
207207
338338
......
qtyqtyqtyqty
3232
4848
99
......
total_salestotal_salestotal_salestotal_sales
17.6017.60
52.8052.80
8.828.82
......
www.devleap.it
Mantenere integrità dei datiMantenere integrità dei dati
Aderire alla granularità della tabella Aderire alla granularità della tabella dei fattidei fatti Una tabella dei fatti può avere una sola Una tabella dei fatti può avere una sola
granularitàgranularità Bisogna caricare i dati con lo stesso livello Bisogna caricare i dati con lo stesso livello
di dettaglio definito dalla granularitàdi dettaglio definito dalla granularità
Verificare constraint colonneVerificare constraint colonne NOT NULL constraintNOT NULL constraint FOREIGN KEY constraintFOREIGN KEY constraint
www.devleap.it
Implementare Staging TableImplementare Staging Table
Centralizzare e integrare fonti dati Centralizzare e integrare fonti dati diversediverse
Spezzare in parti più semplici delle Spezzare in parti più semplici delle trasformazioni complessitrasformazioni complessi
Facilitare il recovery degli erroriFacilitare il recovery degli errori
www.devleap.it
ETLETL
Tool utilizzati per alimentare un data Tool utilizzati per alimentare un data martmart
ETL: Extract, Transform and LoadETL: Extract, Transform and Load EstrazioneEstrazione
ConnettivitàConnettività TrasformazioneTrasformazione
Cambia il modello logicoCambia il modello logico Individua errori di coerenzaIndividua errori di coerenza Corregge o segnala anomalieCorregge o segnala anomalie
CaricamentoCaricamento ConnettivitàConnettività OttimizzazioneOttimizzazione
www.devleap.it
Validazione dei datiValidazione dei dati
Convalidare e correggere i dati prima Convalidare e correggere i dati prima di importarli nel Data Warehousedi importarli nel Data Warehouse
Determinare e correggere i processi Determinare e correggere i processi che invalidano i datiche invalidano i dati
Salvare in un log i dati non validi per Salvare in un log i dati non validi per un esame successivoun esame successivo
www.devleap.it
Rendere i dati consistentiRendere i dati consistenti
I dati possono essere inconsistenti per vari I dati possono essere inconsistenti per vari motivi:motivi: I dati provengono da fonti diverse, in cui sono I dati provengono da fonti diverse, in cui sono
consistenti, ma vengono rappresentati in modo consistenti, ma vengono rappresentati in modo diverso nel Data Warehousediverso nel Data Warehouse
La stessa informazione è rappresentata in modo La stessa informazione è rappresentata in modo diverso su differenti fonti datidiverso su differenti fonti dati
Rendere i dati consistenti:Rendere i dati consistenti: Eliminare codifiche numeriche in valori leggibiliEliminare codifiche numeriche in valori leggibili Convertire versioni diverse della stessa Convertire versioni diverse della stessa
informazione in una singola rappresentazioneinformazione in una singola rappresentazione
www.devleap.it
Alimentare un Data WarehouseAlimentare un Data Warehouse
Scegliere il tool ETL appropriatoScegliere il tool ETL appropriato Transact-SQLTransact-SQL Query distribuiteQuery distribuite Utility BCP (bulk copy), istruzione BULK Utility BCP (bulk copy), istruzione BULK
INSERTINSERT DTS (Data Transformation Services)DTS (Data Transformation Services)
www.devleap.it
DTS (Data Transformation DTS (Data Transformation Services)Services)
Incluso in SQL Server 2000Incluso in SQL Server 2000 Supporta qualsiasi fonte (e Supporta qualsiasi fonte (e
destinazione) OLE DBdestinazione) OLE DB Consente di integrare ActiveX Scripts Consente di integrare ActiveX Scripts
all’interno delle operazioni disponibiliall’interno delle operazioni disponibili
www.devleap.it
Il Package di DTSIl Package di DTS
Step 3Step 3
Step 1Step 1
Step 2Step 2
VBVBScriptScript
COMCOMObjectObject
JavaJava
SQL QuerySQL Query
QueryQuery
Exec UtilityExec Utility
DestinationDestination
SourceSource DestinationDestination
SourceSource
Step NStep N ……....
www.devleap.it
Il Package di DTSIl Package di DTS
Contiene la definizione delle attività da Contiene la definizione delle attività da eseguire come parte della eseguire come parte della trasformazionetrasformazione
Può essere eseguito dalla GUI, da Può essere eseguito dalla GUI, da scheduler, da command line, da scriptscheduler, da command line, da script
Ciascun package è costituito da passi Ciascun package è costituito da passi (step) multipli(step) multipli
Gli step vengono eseguiti in serie o in Gli step vengono eseguiti in serie o in paralleloparallelo
Fornisce un modello di “workflow”Fornisce un modello di “workflow” Transazioni lungo gli stepTransazioni lungo gli step
www.devleap.it
DTS Package EditorDTS Package Editor
www.devleap.it
DTS Object ModelDTS Object ModelDTS PackageDTS Package
TransformsTransforms
SourceSourceColumnsColumns
DestinationDestinationGlobalsGlobals
PrecedencesPrecedences
StepsSteps
CustomCustom
ActiveXActiveX
Data PumpData Pump
TasksTasks
www.devleap.it
Package stepsPackage steps
Step “custom” (personalizzato)Step “custom” (personalizzato) IDTSCustomStepIDTSCustomStep
DatapumpDatapump Trasformazione generica OLE DBTrasformazione generica OLE DB
ActiveX ScriptingActiveX Scripting Logica procedurale (integrata in DataPump)Logica procedurale (integrata in DataPump)
EXEEXE Integrazione con applicazioni esistentiIntegrazione con applicazioni esistenti
www.devleap.it
DTS Import/Export WizardDTS Import/Export Wizard
Il Wizard Import/Export data di SQL Il Wizard Import/Export data di SQL Server genera un package DTSServer genera un package DTS
Se eseguito immediatamente, resta in Se eseguito immediatamente, resta in memoria e non viene salvatomemoria e non viene salvato
Utile per creare veloci prototipi o per Utile per creare veloci prototipi o per mappare inizialmente molte tabellemappare inizialmente molte tabelle
www.devleap.it
DTS Package DesignerDTS Package Designer Menu SystemMenu System
MMC menuMMC menu DTS Package DTS Package
Designer Designer menumenu
ToolbarsToolbars DTS Package DTS Package
Designer Designer toolbartoolbar
Task toolbarTask toolbar Connection Connection
toolbartoolbar Design SheetDesign Sheet
ConnectionsConnections TasksTasks StepsSteps
www.devleap.it
Connessioni in un package DTSConnessioni in un package DTS
Fonti datiFonti dati OLE DBOLE DB ODBCODBC
Categorie connessioniCategorie connessioni File connectionsFile connections Database connectionsDatabase connections Microsoft Data LinksMicrosoft Data Links
www.devleap.it
Tasks che trasformano datiTasks che trasformano dati
Transform Data TaskTransform Data TaskTrasforma e inserisce datiTrasforma e inserisce dati
Data Driven Query TaskData Driven Query TaskOperazioni flessibili con T-SQLOperazioni flessibili con T-SQL
ParallelDataPumpTaskParallelDataPumpTaskElabora rowset gerarchiciElabora rowset gerarchici
www.devleap.it
Tasks che copiano e gestiscono Tasks che copiano e gestiscono datidati
Bulk Insert TaskBulk Insert Task Loads Files into SQL Loads Files into SQL ServerServer
Execute SQL TaskExecute SQL Task Runs SQL Runs SQL StatementsStatements
Copy SQL Server Objects TaskCopy SQL Server Objects Task Copies Objects Between Copies Objects Between SQL Server DatabasesSQL Server Databases
Transfer Databases TaskTransfer Databases Task Copies a Copies a SQL Server DatabaseSQL Server Database
Transfer Jobs Task Copies SQL Server Agent Jobs
Transfer Logins Task Copies SQL Server Logins
Transfer Master Stored Procedures Task Copies SQL Server Master Database Stored Procedures
Transfer Error Messages Task Copies SQL Server User-specified Error Messages
www.devleap.it
Tasks che funzionano come JobTasks che funzionano come Job
ActiveX Script Task Performs User-Defined Logic
FTP Task Transfers Files
Analysis Services Task Processes Cubes
Data Mining Task Processes Data Mining Models
Send Mail Task Sends Email Messages
Execute Process TaskExecute Process Task Runs Executable FilesRuns Executable Files
Message Queue TaskMessage Queue Task Sends and Receives Sends and Receives MessagesMessages
Execute Package TaskExecute Package Task Executes DTS PackagesExecutes DTS Packages
Dynamic Properties TaskDynamic Properties Task Changes Package Changes Package PropertiesProperties
www.devleap.it
Applicare vincoli di precedenzaApplicare vincoli di precedenza
Vincoli di precedenzaVincoli di precedenza On CompletionOn Completion On SuccessOn Success On FailureOn Failure
Esecuzione degli step basata su vincoli Esecuzione degli step basata su vincoli di precedenzadi precedenza Usare zero, uno o più vincoli di Usare zero, uno o più vincoli di
precedenzaprecedenza Si devono soddisfare tutto i vincoli di Si devono soddisfare tutto i vincoli di
precedenza definitiprecedenza definiti
www.devleap.it
Proprietà stepProprietà step
TransazioneTransazione Joining a step to package transactionJoining a step to package transaction Committing a transactionCommitting a transaction Rolling back a transactionRolling back a transaction
Impostazioni esecuzioneImpostazioni esecuzione Eseguire uno step nel thread principale Eseguire uno step nel thread principale
(STA)(STA) Interruzione di un package in seguito al Interruzione di un package in seguito al
fallimento di uno stepfallimento di uno step Disabilitazione di uno stepDisabilitazione di uno step
www.devleap.it
Memorizzare ed eseguire packageMemorizzare ed eseguire package
Memorizzare i PackageMemorizzare i Package SQL ServerSQL Server SQL Server Meta Data ServicesSQL Server Meta Data Services Structured storage fileStructured storage file Visual Basic fileVisual Basic file
Eseguire i packageEseguire i package Esecuzione interattivaEsecuzione interattiva Esecuzione batchEsecuzione batch
www.devleap.it
Task che copiano e gestiscono Task che copiano e gestiscono datidati
Bulk Insert TaskBulk Insert Task Quickly QuicklyCarica file in SQL ServerCarica file in SQL Server
Execute SQL TaskExecute SQL TaskEsegue istruzioni T-SQLEsegue istruzioni T-SQL
Copy SQL Server Objects TaskCopy SQL Server Objects Task Copia oggetti tra istanze di SQL Server Copia oggetti tra istanze di SQL Server 7.0 o SQL Server 20007.0 o SQL Server 2000
Transfer Database Objects TasksTransfer Database Objects TasksCopia informazioni complessive per un Copia informazioni complessive per un database da un’istanza di SQL Server database da un’istanza di SQL Server 7.0 o SQL Server 2000 a un’istanza di 7.0 o SQL Server 2000 a un’istanza di SQL Server 2000SQL Server 2000
www.devleap.it
Funzionalità Bulk Insert TaskFunzionalità Bulk Insert Task
Caricamento veloce da file a SQL Caricamento veloce da file a SQL ServerServer
Supporta destinazione Tabelle o Supporta destinazione Tabelle o Viste su SQL ServerViste su SQL Server
Richiede file delimitati (CSV o Richiede file delimitati (CSV o lunghezza fissa)lunghezza fissa)
Carica i dati senza trasformazioniCarica i dati senza trasformazioni Supporta i Format Files per Supporta i Format Files per
specificare il layout del filespecificare il layout del file Richiede appartenenza a ruolo Richiede appartenenza a ruolo
sysadmin o bulkadminsysadmin o bulkadmin
www.devleap.it
SQL TaskSQL Task
Esecuzione istruzioni SQLEsecuzione istruzioni SQL Il database connesso deve comprendere la Il database connesso deve comprendere la
sintassi SQLsintassi SQL Supporta una o più istruzioni SQLSupporta una o più istruzioni SQL
Query parametricheQuery parametriche Parametri inputParametri input Parametri outputParametri output Si usano le variabili di packageSi usano le variabili di package
www.devleap.it
Trasformazioni DTSTrasformazioni DTS
www.devleap.it
DTS Data PumpDTS Data Pump
Architettura a elevate prestazioniArchitettura a elevate prestazioni OLE DB Service ProviderOLE DB Service Provider Estendibile via COM e ActiveX ScriptsEstendibile via COM e ActiveX Scripts
Data PumpData PumpData PumpData Pump
IDTSDataPumpIDTSDataPump
IUnknownIUnknown
www.devleap.it
Elaborazione Data PumpElaborazione Data Pump
OLE DB OLE DB ODBCODBCFixed FieldFixed FieldASCII DelimitedASCII Delimited
SourceSource
OLE DB OLE DB ODBCODBCFixed FieldFixed FieldASCII DelimitedASCII DelimitedRepl. PublicationRepl. Publication
DestinationDestination
DTS Data PumpDTS Data PumpInIn OutOut
ActiveX ScriptActiveX ScriptCopyCopyTrim StringTrim String……CustomCustom
X FormsX Forms
1.1. Connessione a sorgente e Connessione a sorgente e destinazionedestinazione
2.2. Lettura metadati OLE DB Lettura metadati OLE DB su colonne sorgenti e su colonne sorgenti e destinazionedestinazione
3.3. Raccoglie definizioni delle Raccoglie definizioni delle trasformazioni datitrasformazioni dati
4. Implementa le trasformazioni
5. Scrive i record sulla destinazione
www.devleap.it
Transform Data Task Transform Data Task
Funzionalità di spostamento e Funzionalità di spostamento e trasformazione dei datitrasformazione dei dati Copia i dati tra fonti dati eterogeneeCopia i dati tra fonti dati eterogenee Applica trasformazioni opzionali a livello Applica trasformazioni opzionali a livello
di colonnadi colonna
Funzionalità estese di trasferimento Funzionalità estese di trasferimento dei datidei dati Supporta elaborazione “batch” dei datiSupporta elaborazione “batch” dei dati Fornisce capacità di gestione degli erroriFornisce capacità di gestione degli errori Contiene impostazioni di ottimizzazione Contiene impostazioni di ottimizzazione
per destinazioni SQL Serverper destinazioni SQL Server
www.devleap.it
Impostare sorgente e Impostare sorgente e destinazionedestinazione
SorgenteSorgente Connessione sorgenteConnessione sorgente Tabella, query, vista o file sorgenteTabella, query, vista o file sorgente
DestinazioneDestinazione Connessione destinazioneConnessione destinazione Tabella destinazione esistente o struttura Tabella destinazione esistente o struttura
tabellaretabellare Nuova tabella destinazione o struttura Nuova tabella destinazione o struttura
tabellaretabellare La creazione avviene a design-time, non a ogni La creazione avviene a design-time, non a ogni
esecuzioneesecuzione Il DTS Import/Export wizard crea un DTS con due Il DTS Import/Export wizard crea un DTS con due
step separati, uno crea la tabella e l’altro step separati, uno crea la tabella e l’altro l’alimental’alimenta
www.devleap.it
Definizione del mapping delle Definizione del mapping delle colonnecolonne
MappingMappinguno-a-uno uno-a-uno
Mapping Mapping simmetrico simmetrico molti-a-moltimolti-a-molti
Mapping Mapping asimmetricoasimmetrico
www.devleap.it
Costruire trasformazioniActiveX Script
www.devleap.it
Trasformazioni ActiveX ScriptTrasformazioni ActiveX Script
Trasformazioni ActiveX Script Trasformazioni ActiveX Script Contengono logica di trasformazione Contengono logica di trasformazione
definita dall’utentedefinita dall’utente Sono interpretate al momento Sono interpretate al momento
dell’esecuzionedell’esecuzione
Linguaggi di scriptingLinguaggi di scripting VB ScriptVB Script JScriptJScript Qualsiasi linguaggio di scripting installatoQualsiasi linguaggio di scripting installato
www.devleap.it
Definire trasformazioni ActiveX Definire trasformazioni ActiveX ScriptScript
Funzione che contiene la logica di Funzione che contiene la logica di trasformazione dei datitrasformazione dei dati
Mapping delle colonne sorgenti e Mapping delle colonne sorgenti e destinazionedestinazione
Il valore di ritorno (definito nelle Il valore di ritorno (definito nelle costanti DTSTransformStat) definisce costanti DTSTransformStat) definisce l’azione da eseguire per il recordl’azione da eseguire per il record Consente di fare trasformazioni 1:N e N:1Consente di fare trasformazioni 1:N e N:1 Es. Pivot o Unpivot di una tabellaEs. Pivot o Unpivot di una tabella
www.devleap.it
Costanti DTSTransformStatCostanti DTSTransformStat
DTSTransformStat ConstantDTSTransformStat ConstantDTSTransformStat ConstantDTSTransformStat Constant DescriptionDescriptionDescriptionDescription
Terminate further processing of this rowand return an error for the recordTerminate further processing of this rowand return an error for the record
DTSTransformStat_SkipFetchDTSTransformStat_SkipFetch Do not fetch the next rowDo not fetch the next row
DTSTransformStat_SkipInsertDTSTransformStat_SkipInsert Do not write the current row to the destinationDo not write the current row to the destination
DTSTransformStat_SkipRowDTSTransformStat_SkipRow Terminate further processing of this row fornon-error reasonsTerminate further processing of this row fornon-error reasons
DTSTransformStat_OKDTSTransformStat_OK Default conversions succeed and insert the record into the destinationDefault conversions succeed and insert the record into the destination
DTSTransformStat_Error
www.devleap.it
Creare record multipliCreare record multipli
Product GroupProduct GroupProduct GroupProduct Group Hot BeverageHot BeverageHot BeverageHot Beverage Fruit JuiceFruit JuiceFruit JuiceFruit Juice
DrinksDrinks Hot ChocolateHot Chocolate Apple CiderApple Cider
Product GroupProduct GroupProduct GroupProduct Group BeverageBeverageBeverageBeverage
DrinksDrinks Hot ChocolateHot Chocolate
DrinksDrinks Apple CiderApple Cider
www.devleap.it
ConclusioniConclusioni
DTS è uno strumento di sviluppoDTS è uno strumento di sviluppo Riduce il codice da scrivere per le Riduce il codice da scrivere per le
operazioni ripetitiveoperazioni ripetitive Mantiene aperte tutte le strade di Mantiene aperte tutte le strade di
personalizzazione quando è necessariopersonalizzazione quando è necessario VBScript, JScriptVBScript, JScript Componenti ActiveXComponenti ActiveX
Supporto per automazione procedure Supporto per automazione procedure e generazione log dettagliatie generazione log dettagliati
www.devleap.it
Altre InformazioniAltre Informazioni
Dove posso ottenere maggiori Dove posso ottenere maggiori informazioniinformazioniwww.microsoft.com/italy/sqlwww.microsoft.com/italy/sqlwww.microsoft.com/italy/businessintelligencewww.microsoft.com/italy/businessintelligencewww.microsoft.com/sqlwww.microsoft.com/sqlwww.microsoft.com/sql/evaluation/biwww.microsoft.com/sql/evaluation/bimsdn.microsoft.commsdn.microsoft.com
Developer resourcesDeveloper resourcesMicrosoft Developer NetworkMicrosoft Developer Networkwww.devleap.itwww.devleap.itwww.sqljunkies.comwww.sqljunkies.com