2010-11-05 13 views
9

Voglio essere in grado di avere una query sql nel mio pacchetto DTSX e voglio essere in grado di avere una sorta di prompt per aggiornare il valore di una colonna nulla. Vedere quello che ho qui di seguito:Come richiedere l'input da un pacchetto SSIS?

UPDATE SF1411 
SET  [QuoteNumber] = '123456' 
    , [ItemNumber] = '123654-100' 
    , [DeleteItem] = 'NO' 
WHERE [QuoteNumber] = '0' 

voglio essere in grado di essere richiesto il QuoteNumber e ItemNumber, poi l'aggiornamento script come necessario. È possibile e se sì, come posso farlo?

risposta

7

Questo può essere raggiunto come di seguito: Questo sarà nel componente di script iniziale.

System.Windows.Forms.Form frm = new Form(); 
    TextBox txt = new TextBox(); 
    Button inputset = new Button(); 

    public void Main() 
    { 
     inputset.Text = "Set Variable Value"; 
     inputset.Width = 200; 
     inputset.Height = 100; 
     inputset.Click += new EventHandler(inputset_Click); 
     txt.Name = "Input"; 
     frm.Controls.Add(txt); 
     frm.Controls.Add(inputset); 
     frm.ShowDialog(); 
     MessageBox.Show(Dts.Variables["Value1"].Value.ToString()); 


     Dts.TaskResult = (int)ScriptResults.Success; 
    } 

    void inputset_Click(object sender, EventArgs e) 
    { 
     Dts.Variables["Value1"].Value = Convert.ToInt32(txt.Text); 
     frm.Close(); 
    } 

Questo dovrebbe essere il componente iniziale del pacchetto per impostare il valore della variabile o creare il comando SQL.

2

In generale, un pacchetto SSIS non viene utilizzato in modo interattivo. La soluzione più pulita è una soluzione personalizzata che riceve l'input dall'utente e quindi avvia il pacchetto SSIS.

Un'alternativa più semplice è l'utilizzo delle configurazioni del pacchetto. È possibile memorizzare l'input dell'utente in una posizione esterna (file XML, database SQL Server e altri) e il pacchetto SSIS caricherà il valore in fase di esecuzione.

+0

È possibile eseguire questa operazione con una query SQL anziché con un pacchetto SSIS? – GabrielVa

+0

È possibile eseguire UPDATE in SQL Server Management Studio, Editor di query. Non richiede i tuoi valori per impostazione predefinita. Ma puoi creare la tua query come uno script modello. Controlla qui per ulteriori http://msdn.microsoft.com/en-us/library/ms179334.aspx. – bobs

Problemi correlati