UGISS Community

Il sito della community dello User Group Italiano di SQL Server
Welcome to UGISS Community Sign in | Join | Help
in Search

Alessandro Alpi's blog

Parliamo di integration services e non solo..

aprile 2007 - Posts

  • Come raggiungere le proprietà di un SSIS

    Tramite Visual Studio Business Intelligence Development Studio è possibile configurare il pacchetto e renderlo dinamico, in base ad alcune impostazioni definibili tramite la voce di menu SSIS --> Package Configuration.



    Tramite questa interfaccia è possibile impostare particolari comportamenti e determinate proprietà del pacchetto.
    Premendo il tasto "Aggiungi" è possibile definire come il package verrà configurato a runtime. Le possibilità sono varie:



    - File Configurazione XML
        che consente di partire da un determinato file XML contenente tutte le proprietà da "mappare" all'interno del nostro SSIS

    - Variabile di ambiente
       
    che permette di utilizzare il valore di una variabile di Environment di Windows

    - Voce del registro di sistema
       
    ovvero l'utilizzo di una chiave del registro con il relativo valore

    - Variabile del pacchetto padre
       
    Una variabile di un SSIS da cui quello che stiamo scrivendo deriva

    - SQL Server
        che consente di utilizzare una tabella di configurazione residente su SQL Server, in base ad un filtro ben definito

    Per ogni caso è possibile definire il percorso specifico su cui trovare la configurazione, tramite una variabile di ambiente fissa (voce sotto a quella predefinita).

    Ognuna di queste possibilità ritorna un valore o un elenco di valori che poi possono essere associati alle proprietà del pacchetto che stiamo progettando. Ad esempio, è possibile associare la connectionstring di un ConnectionManager andando a leggere un file xml, piuttosto che una tabella sql server oppure una variabile proveniente dal package padre.
    In questo modo, il pacchetto può avere comportamenti diversi in base alla configurazione che gli si assegna. Può risultare molto utile elaborare configurazioni su server di sviluppo, collaudo e produzione, in modo che ogni ambiente trasformi il SSIS in qualcosa di proprio, e che il SSIS si aggrappi all'ambiente stesso, lavorando su uno scope ben definito.
    A prescindere da questo, lo strumento di configurazione del package consente di raggiungere in maniera mirata la proprietà che si vuole impostare:



    Quando invece si vuole configurare il pacchetto dall'esterno, e quindi utilizzando DTEXECUI oppure scrivendo un JOB di SQL Server 2005, non esiste un percorso come quello appena indicato nelle immagini. E' necessario scrivere a mano il percorso per scrivere il valore passato alle proprietà del SSIS.


    Per questo eccovi un elenco delle sintassi per reperire le vostre proprietà all'interno del DTSX (Le parti in corsivo sono FISSE):

    Proprietà di un pacchetto
        \Package.Properties[NomeProprietà]
        ES: \Package.Properties[Description] oppure \Package.Properties[Disable], ecc..

    Valori di variaibli
        \Package.Variables[Namespace::VariableName].Properties[NomeProprietà]
       
    ES: \Package.Variables[Utente::Variabile1].Properties[Value]

    Variabili in un container
        \Package\NomeContainer.Variables[Namespace::VariableName].Properties[NomeProprietà]
        ES: \Package\DataFlow1.Variables[Utente::Variabile5].Properties[Value]

    Stringhe di connessione
       
    \Package.Connections[NomeConnectionManager].Properties[ConnectionString]
        ES: \Package.Connections[DBSviluppo].Properties[ConnectionString]

    Proprietà di un container o di un task
        \Package\NomeContainer.Properties[NomeProprietà]
        ES: \Package\DataFlow1.Properties[Description]

    Proprietà di un task all'interno di un container
        \Package\NomeContainer\NomeTask.Properties[NomeProprietà]
       
    ES: \Package\ForContainer1\AttivitàEseguiSQL1.Properties[Description]

    N.B. In alcune voci è stata indicata la proprietà Value, ma è possibile utilizzarne anche altre, come Description, EvaluateAsExpression, ecc..

    Seguendo questa sintassi è possibile impostare i valori a determinate proprietà del package, anche se sinceramente un wizard incluso nella DTEXECUI oppure nelle form di creazione dei JOB di SQL Server 2005 non sarebbe male..
    attendiamo fiduciosi
  • SQL Server 2005 SP2 Re-release and post fixes

    sulle news di SQL Server Engine Tips, ho notato questo link, molto interessante sul blog di Bob Ward

    http://blogs.msdn.com/psssql/archive/2007/04/06/post-sql-server-2005-service-pack-2-sp2-fixes-explained.aspx

    ci sono alcune spiegazioni sui vari rilasci e fix di Microsoft per ciò che riguarda il Service Pack 2 di SQL Server 2005..

    da leggere..