sql server 2005 integration services - sviluppo franco perduca factory software...
TRANSCRIPT
Sql Server 2005
Integration Services - SviluppoIntegration 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 prefisso “@”
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 prefisso @
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 dell’operazione 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
L’output 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, l’operazione 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.