sql server 2005 integration services - sviluppo franco perduca factory software...

Post on 01-May-2015

212 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Sql Server 2005

Integration Services - SviluppoIntegration Services - Sviluppo

Franco Perduca Factory Software

francop@factorysw.com

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.

top related