Intereting Posts

Как я могу запросить ввод из пакета SSIS?

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

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

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

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

  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.

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

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