SQL Server ed ALM su database


Il blog di Alessandro Alpi
Archivio Posts
Anno 2017

Anno 2016

Anno 2015

Anno 2014

Anno 2013

Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Designer e connection managers

Business Intelligence Development Studio (BIDS) è una piattaforma di sviluppo fornita con l'installazione di SQL Server (alcune features però sono comprese solo a partire dalla Standard Edition). Si presenta esattamente come Visual Studio 2005, e permette di creare progetti non solo basati sui SQL Server Integration Services, bensì anche sull'OLAP (Analysis Services) e sui Reporting Services.
Visto che è il nostro tema, considereremo solamente la parte riguardante Integration Services.
L'interfaccia di sviluppo si presenta con le seguenti finestre di default (le più importanti):

A destra
- Solution Explorer: è la rappresentazione della soluzione. Permette di gestire i file appartenenti al progetto ed alla soluzione.
- Properties: è la finestra delle proprietà, siano esse di progetto, di file o di oggetti del designer.
A sinistra
- Toolbox: è l'insieme dei task/container relativi al package.
- Variables: è l'insieme delle variabili del package, con tanto di tipo dati e scope di ognuna di esse.
In basso
- Output window: è la finestra dei messaggi restituiti dal SSIS a runtime.
- Errors: è l'elenco degli errori restituiti dal SSIS (errori di validazione, di connessione e/o quant'altro costituisca le caratteristiche di ognuno degli oggetti del package)
In linea di massima queste sono le window più utilizzate, anche se, soprattutto a runtime, saranno di grande utilità la Watch e la Locals.

Insomma, ci si muove come in un normale progetto di Visual Studio .NET :-)
Permettetemi di darvi un consiglio.. Spostate dalla posizione di default la finestra delle Variables.. all'inizio sono a sinistra e quindi in un'area un po' ristretta. Siccome può essere utile visualizzare il loro valore, consiglio di portare la finestra in basso, in modo da avere ampio spazio di manovra. Si perde il numero delle variabili visualizzabili, ma il loro valore è sempre facilmente visibile
Come dicevamo nel post introduttivo della sezione SSIS Basics, il designer si è rinnovato notevolmente.
Dicevamo che è stato suddiviso in più parti:

- Control flow
- Data Flow
- Event Handler
- Package Explorer
- Connection Manager Area


Control Flow ed Event Handler hanno lo stesso insieme di task nella toolbox. Data flow possiede un elenco di attività proprietario, non utilizzabile in altre aree del designer. Il package Explorer ci consente di navigare il pacchetto in ogni sua posizione, tramite un albero che riassume la gerarchia e l'organizzazione dei task. L'area dei connection manager è un raccoglitore delle connessioni utilizzate nel package, siano esse connessioni SQL Server, Oledb, flat file e quant'altro.
In questa prima parte analizzeremo i connection managers.
Sempre nel designer, in basso, vi è un tab che contiene i cosiddetti connection managers. Come il nome indica, essi sono i manager delle connessioni. Possono essere di vario tipo, e qui di seguito abbiamo l'elenco completo.

Possiamo quindi avere connessioni verso SQL Server 2000/2005, .NET, Oledb generiche, Analysis Server, File di testo, File generici, da altre origini dati.
I connection managers possono essere sia condivisi, e quindi creati nella solution all'interno dell'area Data Sources (tasto destro sulla cartella Data Sources nella solution --> New Data Source..), che appartenenti solo al pacchetto.
Per ricavare una connessione da un data source condiviso (precedentemente creato) premere il tasto destro nell'area dei connection managers e selezionare il comando "New Connection From data source..", selezionare la sorgente desiderata e il gioco è fatto.
Per avere una connessione non derivata da sorgenti condivise selezionare un comando diverso da quest'ultimo e configurare la connessione come meglio si crede.
N.B. Se avessimo un data source impostato come condiviso e volessimo utilizzarlo solamente come modello (ma con alcuni dati differenti) è sufficiente creare un nuovo data source derivato nel SSIS e poi eliminare il valore della proprietà DataSourceID (nella finestra delle proprietà). In questo modo il data source appena creato mantiene le caratteristiche istantanee del padre e ne perde il riferimento.
Ecco come appaiono i diversi tipi di connection managers:

Ed ecco il valore della proprietà DataSourceID, da impostare a blank se si vuole disconnettere il datasource.
Da questo momento in avanti, ogni task del pacchetto che necessita di una sorgente dati potrà attingere ai data source definiti nell'area Connection Managers.

Come descritto dall'immagine precedente, vi sono alcune proprietà da considerare per la connessione. Abbiamo già visto DataSourceID, ma ve ne sono altre editabili:

- ConnectionString, la vera e propria stringa di connessione alla sorgente dati
- DelayValidation, se impostata a true indica che la validazione sul connection manager non deve essere effettuata finchè non viene eseguito il package
- InitialCatalog, è il database su cui ci si deve connettere (opzionale)
- Name
- Password
- ServerName
- UserName

 
Infine vi è un'area riservata alle Expression, ovvero uno spazio in cui definire le specifiche delle proprietà dell'oggetto. Vengono valutate a runtime, quando l'oggetto è utilizzato. Questo vale per tutti gli oggetti, non solo per i connection managers. Dedicheremo un post anche a queste Espressioni..
Ad esempio, in un SSIS che deve lavorare su più server ma all'interno di database identici, potrebbe risultare utile valorizzare la variabile ServerName o la ConnectionString dinamicamente ed a runtime in modo da potersi spostare su più SQLServer.
Ok, anche per questa prima parte è tutto..

Abbiamo visto cosa sono i connection managers e come possono essere velocemente creati..
Ovviamente lascio a voi la creazione del data source.. altrimenti il post si allunga a dismisura ;-) anche perchè ogni datasource ha n  proprietà da impostare. Magari dedichiamo un post più avanti all'argomento, ad esempio per il data source riguardante il flat file, che ci permette di definire la struttura del file in input.. sempre che vi possa interessare
Nel prossimo post parleremo di alcuni fra i task più importanti del control flow..
Spero che quello che ho scritto possa servirvi, visto che di documentazione ancora non c'è molto..stay tuned
Categoria: SSIS 2005 Basics
giovedì, 04 mag 2006 Ore. 11.46
Statistiche
  • Views Home Page: 409.301
  • Views Posts: 758.149
  • Views Gallerie: 439.795
  • n° Posts: 478
  • n° Commenti: 270





















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