Sql Server 2005 Integration Services - Sviluppo Franco Perduca Factory Software
2 Agenda Package Development pt. 1 Connessioni Variabili Expressions Containers, Task & Transformation Items Package Development p2. Workflow Logging Configurazione Debug
3 Package Development pt.1
4 Connessioni Gestite tramite Connection Manager E puramente un riferimento alla connessione fisica Utilizzato da task, transformations e package MultiXXX: connessioni che operano su più file Supporto per wildcard! (c:\data\*.txt) Ogni oggetto esterno è gestito da una connessione: MSMQ, FTP, SMTP, HTTP
5 Connessioni Come nella versione precedente è possibile cambiare le proprietà al volo Dts.Connections( MyConn").ConnectionString = …
6 Variabili Variabili non solamente globali Deve esserne definito lo scope Tipizzate Per utilizzare nei task è necessario usare il
7 Variabili Restituiscono una collection (ByRef) DTS.Variables Contiene un solo elemento
8 Variabili Altra possibilità: utilizzare le proprietà dello Script Task/Transform ReadOnlyVariables, ReadWriteVariables Attenzione che funzionano in modo diverso a seconda del flow di utilizzo Nel Control Flow [object] Dts.Variables(MyVar).Value Nel Data Flow [strongly typed] Variables.MyVar
9 Espressioni Sono un insieme di funzioni base che restituiscono un singolo valore scalare Idealmente, una sorta di inline-functions Possono essere utilizzate da praticamente qualsiasi elemento di un package Alcuni task mettono anche a disposizione un builder Es. Derived Column Possono utilizzare le variabili Utilizzando il
10 Espressioni Sono composte da Identifiers (Es. Column, Variable) Literals (Es. ; true false) Operators Cast Logic Equality Conditional … Functions Date/Time Math String … UPPER(SUBSTRING(Name,1,1)) != "A" !ISNULL(SellDate) ? DAY(SellDate) : DAY(GETDATE()) FINDSTRING("New York, NY, NY", "NY", 1)
11 Task & Transform Items
12 Containers
13 For Loop Container Permette di eseguire n volte i task al suo interno InitExpression EvalExpression AssignExpression In pratica: for(InitExpression; EvalExpression; AssignExpression) { … } E possibile configurare il contenitore perché sia transazionale TransactionOption = Required o Supported Vero per qualsiasi container
14 For Each Container Permette di eseguire n volte i task al suo interno Sulla base di un enumerator simile al classico foreach E possibile accedere ai valori enumerati Solamente tramite mapping su variabile Enumeratori Foreach File Foreach Ado Foreach nodelist …
15 Sequence Container Semplicemente raggruppa più task Per gestire transazioni Per operare sui task globalmente
16 Control Flow Tasks
17 XML Task Permette di lavorare con documenti XML Diff / Patch Merge Validate XSLT XPath A seconda delloperazione il risultato potrà essere salvato in file in variabili
18 Web Service Task Permette di accedere ai metodi di un WS Necessario definire HTTP connection Possibile specificare Autenticazione Proxy Loutput può essere memorizzato in un file una variabile
19 Analysis Server Task Execute DDL Task DDL per cubi, dimensioni & mining models Process Task Processa cubi & affini Data Mining Query Task Esegue prection query
20 Data Flow Transformations
21 Fuzzy Grouping / Fuzzy Lookup Permettono di ripulire i dati eliminando i duplicati i valori vengono pesati per capire quanto un testo è simile ad un preso come riferimento si appoggiano su tabelle esterne fuzzy grouping fa utilizzo anche di tabelle temporanee
22 Percentage Sampling Estrae una certa parcentuale di valori casuali da una sorgente Utile per Datamining una estrazione per il traning dei modelli una estrazione per il testing degli stessi
23 Pivoting/Unpivoting Permettono di effettuare il pivoting sui dati per evitare la creazione di duplicati, loperazione di Pivot deve essere fatta su dati ordinati
24 Package Development pt.2
25 Workflow Workflow evoluto, bastato su Constraint Success Failure Completed Expression Expression AND Constraint Expression OR Constraint Possibilità di logica AND/OR anche sui constraint input AND = All Constraint Evaluate to true OR = One Constraint Evaluate to true
26 Logging Il log generato dal package può essere salvato tramite un connection manager su file (text / xml) su db … E possibile scrivere nel log informazioni custom DTS.Logging.Log(…)
27 Configuration Tutte le proprietà degli item sono salvabili su file di configurazione diversi supporti xml registry sql … nessuna operazione da fare via codice / task
28 Debug Possibilità di debugging avanzato Breakpoint sul task Breakpoint nel codice DataView Permette di avere un breakpoint nel data flow mostra la foto dei dati durante un particolare step della trasformazione
29 Domande ?
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.