2010-11-05 16 views
9

Quiero poder tener una consulta sql en mi paquete DTSX y quiero tener algún tipo de indicación para actualizar el valor de una columna nula. Ver lo que tengo a continuación:¿Cómo solicito la entrada de un paquete SSIS?

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

Quiero ser capaz de que se le solicite la QuoteNumber y ItemNumber, entonces la secuencia de comandos de actualización, según sea necesario. ¿Es esto posible y si es así cómo puedo hacerlo?

Respuesta

7

Esto se puede lograr de la siguiente manera: Esto estará en su componente de secuencia de comandos inicial.

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(); 
    } 

Este debería ser el componente inicial en su paquete para establecer el valor de la variable o construir su Comando SQL.

2

En general, un paquete SSIS no se usa de forma interactiva. Su solución más limpia es una solución personalizada que obtiene la entrada del usuario y luego inicia el paquete SSIS.

Una alternativa más sencilla es utilizar Configuraciones de paquetes. Puede almacenar la entrada del usuario en una ubicación externa (archivo XML, base de datos SQL Server y otros) y el paquete SSIS cargará el valor en tiempo de ejecución.

+0

¿Podría hacer esto con una consulta SQL en lugar de un paquete SSIS? – GabrielVa

+0

Puede ejecutar la ACTUALIZACIÓN en SQL Server Management Studio, Query Editor. No solicita sus valores por defecto. Pero puedes crear tu consulta como una secuencia de comandos de plantilla. Consulte aquí para obtener más información http://msdn.microsoft.com/en-us/library/ms179334.aspx. – bobs

Cuestiones relacionadas