2010-11-05 3 views
9

Я хочу иметь sql-запрос в моем пакете DTSX, и я хочу иметь какое-то приглашение для обновления значения нулевого столбца. Посмотрите, что у меня есть ниже:Как мне запросить ввод из пакета SSIS?

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

Я хочу, чтобы иметь возможность быть запрошен QuoteNumber и ItemNumber, то есть обновление скрипта, как это необходимо. Возможно ли это, и если да, то как я могу это сделать?

ответ

7

Это может быть достигнуто, как показано ниже: Это будет в вашем компоненте встроенного скрипта.

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

Это должно быть исходный компонент в вашем пакете, чтобы установить значение переменной или построить SQL-команду.

2

Как правило, пакет SSIS не используется в интерактивном режиме. Ваше самое чистое решение - это настраиваемое решение, которое получает вход от пользователя, а затем запускает пакет SSIS.

Простейшая альтернатива - использование конфигураций пакетов. Вы можете сохранить ввод пользователя во внешнем местоположении (файл XML, база данных SQL Server и другие), а пакет SSIS загрузит значение во время выполнения.

+0

Могу ли я сделать это с помощью SQL-запроса, а не пакета SSIS? – GabrielVa

+0

Вы можете запустить UPDATE в SQL Server Management Studio, редакторе запросов. Он не запрашивает ваши значения по умолчанию. Но вы можете создать свой запрос как шаблонный скрипт. Подробнее см. Здесь http://msdn.microsoft.com/en-us/library/ms179334.aspx. – bobs