Continuando il filone della reference iniziata nel lontano aprile 2006, ormai è ora di spostarsi su SSIS 2008, anche se quella per 2005 non è proprio completa
. Cercheremo di affrontare le parti mancanti provando a mettere a confronto anche le differenze/migliorie della versione 2008. Questa volta vorrei soffermarmi sulle variabili, così importanti per ottenere un buon dinamismo nei nostri package.
In ognuna delle due versioni citate sopra è possibile gestire le caratteristiche comuni delle variabili. Infatti è possibile definire un nome, un valore iniziale ed un tipo. Ma nella visualizzazione di default non è presente una proprietà a mio avviso importantissima, il Namespace. Che cos'è? Semplice, è un raggruppamento ulteriore rispetto allo scope delle variabili. Per scope si intende l'ambito di visibilità della variabile. Ad esempio, se una variabile è dichiarata di scope package (nella colonna scope vedrete il nome del package stesso), essa è visibile a tutti i figli, e quindi a tutti i task/container figli ricorsivamente. Se lo scope della variabile è definita per uno script task ad esempio, essa è visibile solo al suo interno e non è accessibile da altri task.
Il namespace invece, anche a parità di scope, definisce un ulteriore livello di raggruppamento logico della variabile. Pensate ad esempio a due var chiamate FileName, una per il nome di file di un log ed una per un file di output di una trasformazione. Ebbene, è possibile definire Log::FileName e Output::FileName dove Log e Output sono i namespace.
Come visualizzare la colonna sul pannello delle variabili? Ecco un esempio:
Premendo ok verrà visualizzata la nuova colonna utilizzabile per definire il namespace:
Notare lo stesso scope, lo stesso nome, ma il namespace diverso. Questa è sicuramente una funzionalità da usare con criterio, ma decisamente utile. Almeno a mio modo di vedere. Di sicuro può essere sfruttata per la sua comodità.
Tornando al confronto con la versione 2005, un miglioramento per ciò che riguarda le variabili lo hanno avuto l'interfaccia dello script task e dello script component.
Infatti, finalmente, con 2008 è possibile selezionare le variabili con una checkedListBox. Questa cosa evita assurdi copia/incolla dei nomi delle variabili nelle proprietà
ReadOnlyVariables e
ReadWriteVariables dei task script:
Nella versione 2005 avremmo dovuto specificare la stringa
Utili::VarProva,Misc::VarProva a mano, il che non è il massimo della vita.
La combo di selezione è presente sia in
script task che in
script component.
Stay tuned!