SQL Server ed ALM su database


Il blog di Alessandro Alpi
Archivio Posts
Anno 2018

Anno 2017

Anno 2016

Anno 2015

Anno 2014

Anno 2013

Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Le Expressions

In ognuno dei task che fino ad ora ho descritto è presente la sezione Expression. In questo post parleremo proprio di questa importante feature di Integration Services. Le Expression sono strumenti che permettono di impostare dinamicamente le proprietà del task in cui vengono valutate. Per fare un parallelismo l’equivalente si otteneva anche con i DTS tramite i task Dynamic Properties. Le differenze che saltano all’occhio sono:

- Con le expression è possibile impostare vere e proprie espressioni complesse, con tanto di utilizzo di variabili, funzioni, conversioni di tipi..
- Le expression sono riferite solo e soltanto al task a cui appartengono

Soprattutto per la seconda motivazione la leggibilità aumenta nella versione di SQL Server 2005. Perché ad ogni oggetto appartengono le proprie espressioni, impostate sulle specifiche proprietà. In DTS il dynamic properties appariva al contrario tutt’altro che chiaro e leggibile, almeno per quanto riguarda la mia esperienza

Una volta impostata l’espressione (e volendo testata) essa viene valutata ed eseguita a runtime con il valore che le variabili eventualmente presenti assumono in quel preciso momento (Attenzione ad utilizzare il corretto scope nella dichiarazione delle variabili, altrimenti si rischia di ottenere valori inaspettati all’esecuzione dell’espressione!!  ).

Ecco come appare una sezione expression, nell’esempio un Execute SQL Task:



Clickando sul tasto  si apre la seguente pagina:



Nella colonna property vi è l’elenco delle proprietà del task in cui ci si trova. E’ necessario selezionarne una prima di poter definire l’espressione di valorizzazione. Nella seconda colonna vi è l’espressione. Per aprire l’editor clickare sul tasto .



Sulla sinistra abbiamo l’elenco delle variabili di sistema e quelle utente (si distinguono dal namespace System:: oppure User::), sulla destra abbiamo l’elenco delle funzioni possibili sulle variabili (dalle numeriche, alle stringhe, alle funzioni sulle date, ai controlli sui NULL, ecc..), in basso vi è lo spazio su cui scrivere l’espressione e ancora più sotto troviamo uno spazio in cui l’espressione può essere testata, tramite il pulsante Evaluate Expression.
N.B. E’ possibile eseguire drag & drop di tutte le variabili e le funzioni, dalla rispettiva area verso il campo di composizione dell’espressione. Le funzioni, quando trascinate, scrivono anche gli eventuali parametri da passare.
N.B. Alcune note su come scrivere le expression:
- il carattere @ indica la variabile
- i caratteri [ e ] delimitano la variabile
- indicare il namespace nella rappresentazione della variabile (es. @[User::Param1])
- il + è operatore sia di somma che di concatenazione, in base al tipo di dato delle variabili
- se una variabile è di tipo non stringa è necessario utilizzare il casting (es. (DT_STR,3,1252)@[User::Param1], dove DT_STR è String, 3 è la lunghezza, 1252 è il codepage)
 
Insomma, abbiamo visto che le expression rendono veramente dinamico il nostro pacchetto. Sono semplici, anche se il loro linguaggio non ha nulla a che vedere con i linguaggi conosciuti sul framework.

Alla prossima
Categoria: SSIS 2005 Basics
venerdì, 19 mag 2006 Ore. 18.44
Statistiche
  • Views Home Page: 601.393
  • Views Posts: 1.068.846
  • Views Gallerie: 641.208
  • n° Posts: 484
  • n° Commenti: 273



















Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003