none
Deploy in SSIS Catalog RRS feed

  • Domanda

  • Ciao a tutti,

    devo poter fare un deploy di un progetto SSIS nel ssis catalog. 

    nello specifico, devo poter deployare i packages passando come parametri le connection string dei connection manager. ho 3 packages con connessioni a file Excel e connessione a un DB. questo progetto dovrà essere deployato su un server e dovrei passare come parametri le connessioni. Volevo provare a fare il deploy dell'Xml passando poi come parametri da poweshell le connessioni. Ma come si procede? c'è qualche altra via che non sto valutando?

    spero di essere stata chiara.

    grazie.

    mercoledì 8 ottobre 2014 15:54

Risposte

  • Sì, credo che tu ti stia complicando la vita :)

    Ho creato proprio ora un package con un Data Flow che ha come sorgente un Excel Source e come destination una OLEDB. Ho pubblicato l'ispac sul SSISDB creando una cartella apposita, e poi ho fatto configure usando SSMS (cartella Integration Service Catalog). Puoi creare ambienti e andare a configurare le conn string:

    Se vuoi puoi anche forzare i valori, se proprio non ti serve il multiambiente, anche se io almeno uno lo faccio sempre.

    Questo ti può servire?


    Alessandro Alpi SQL Server MVP

    giovedì 9 ottobre 2014 08:38
    Moderatore

Tutte le risposte

  • Ciao Bukowski,

    che versione/edizione di Sql Server hai? Ad esempio, con le ultime versioni tu puoi impostare gli ambienti su cui andare a configurare le connectionstring per ambiente, appunto. Il deploy non è altro che un file .ispac creato durante la compilazione della solution, il quale esegue un wizard molto semplice per la pubblicazione del tuo progetto di package anche sul SSIS catalog.

    Ovviamente i package che hai disegnato dovranno essere scritti su un tipo di progetto "nuovo" che è proprio quello che ti consente il deploy di cui ti parlavo (Project deployment model, ma puoi convertirlo successivamente nel peggiore dei casi) e dovrai aver disegnato i connection manager pronti per ricevere in maniera parametrica i dati di connessione. In questo modo, una volta pubblicati sul SSIS catalog, è sufficiente andare a creare gli ambienti con i valori di configurazione collegati ai connection manager o alle variabili che hai esposto.


    Alessandro Alpi SQL Server MVP

    giovedì 9 ottobre 2014 07:54
    Moderatore
  • Ciao Alessandro,

    La versione di SQL Server su cui sto lavorando è la 2012  Enterprise Edition. il deploy del file .ispac è quello ce ho fatto, attraverso una stored procedure. Il problema è che i miei pacchetti hanno delle connection string a file Excel e al DB non parametriche. questo ha creato problemi durante il deploy su un altro server dove ovviamente il nome dell'istanza di SQL Server e il nome del DB è diversa, e dove i file Excel non sono presenti, per ora.

    In questo modo il deploy dell'.ispac è andato bene, ma ovviamente se apro i pacchetti ssis non hanno le connessioni corrette. 

    il mio problema è creare le connessioni in modo parametrico, soprattutto per quanto riguarda le connessioni Excel. 

    per questo avevo pensato, di avere un xml e deployare questo, passando i path dell'Excel come parametri in un file eseguibile in powershell. Forse mi sto complicando la vita, mentre la via da seguire è più semplice?

    Grazie

    giovedì 9 ottobre 2014 08:13
  • Sì, credo che tu ti stia complicando la vita :)

    Ho creato proprio ora un package con un Data Flow che ha come sorgente un Excel Source e come destination una OLEDB. Ho pubblicato l'ispac sul SSISDB creando una cartella apposita, e poi ho fatto configure usando SSMS (cartella Integration Service Catalog). Puoi creare ambienti e andare a configurare le conn string:

    Se vuoi puoi anche forzare i valori, se proprio non ti serve il multiambiente, anche se io almeno uno lo faccio sempre.

    Questo ti può servire?


    Alessandro Alpi SQL Server MVP

    giovedì 9 ottobre 2014 08:38
    Moderatore
  • Grazie, 

    ma questo l'ho fatto anche io sulla mia macchina di test. il problema è che sull'ambiente di sviluppo io non avrò accesso per modificare o configurare. per cui ho dovuto preparare un setup per configurare,deployare, e creare i Database, e a tutto ciò passo dei parametri per i nomi DB, istanze, path, ecc...

    E' questo purtroppo il mio problema. quindi per i miei pacchetti ssis devo fare in modo che le connessioni non siano statiche. Per es. la connessione al Database avrà nome server e nome Database della macchina su cui sarà deployato. Lo stesso vale per il file Excel di cui non so in che percorso si troveranno. 

    Non so se ho spiegato bene la mia situazione non proprio felice... :(

    giovedì 9 ottobre 2014 09:00
  • Ciao,

    ma nessuno può impostare l'ambiente con le variabili corrette? A me sembra una soluzione "over engineered" quella di portare un file dedicato per la config quanto l'infrastruttura del progetto ti consente di fare tutte le configurazioni del caso.

    Se devi crearlo post setup del tuo prodotto, puoi utilizzare le stored procedure che vengono generate sul SSISDB per creare a runtime gli ambienti. Questo lo vedi più percorribile? 


    Alessandro Alpi SQL Server MVP

    mercoledì 15 ottobre 2014 10:54
    Moderatore
  • Ciao Alessandro,

    Alla fine ho risolto con le stored procedure del SSISDB. 

    Non ho risposto prima perchè ero in ferie. 

    Grazie per l'aiuto!

    lunedì 10 novembre 2014 09:50