2016-12-24 1 views
0

Борьба за то, как добавить сопоставление параметров в задачу SSIS SQL.Добавление привязки параметров к пакету SSIS с помощью C#

so far I am able to create my SQL Task, and set a few properties. 
TaskHost taskhost = sequence1.Executables.Add("STOCK:SQLTask") as TaskHost; 
        taskhost.Name = myTable.ToString(); 
        taskhost.Properties["Connection"].SetValue(taskhost, connMgrOleDb.Name); 
        taskhost.Properties["SqlStatementSource"].SetValue(taskhost, "EXEC sp_GET_S_" + myTable.ToString() +"?, ?"); 


// need to add input parameter binding 

// Любые идеи?

ответ

0

Я вижу, что вы используете объект TaskHost для установки свойств. Использование TaskHost предпочтительнее в тех случаях, когда вы хотите динамически устанавливать свойства. Свойства также можно установить, используя непосредственную задачу управления потоком и в некоторых случаях предпочтительнее.

Значок Здесь вы можете использовать объект ExecuteSQLTask, чтобы добавить привязки параметров. Просто вызовите метод Add в свойстве ParameterBindings в ExecuteSqlTask.

Чтобы использовать объект ExecuteSqlTask, вам необходимо добавить ссылку на сборку в файл Microsoft.SqlServer.SQLTask.dll.

Внесите InnerObject TaskHost в ExecuteSqlTask, а затем вызовите метод Add в свойстве ParameterBindings в ExecuteSqlTask. Такой же шаблон подходит и для добавления привязок результатов.

 // cast the TaskHost's InnerObject as ExecuteSqlTask 
     // add a reference to the Microsoft.SqlServer.SQLTask.dll to use ExecuteSqlTask 
     ExecuteSQLTask sqlTask = TaskHost.InnerObject as ExecuteSQLTask; 

     // call the Add method on ParameterBindings property of sqlTask. 
     //This will return a IDTSParameterBinding object 
     IDTSParameterBinding parameterBinding = sqlTask.ParameterBindings.Add(); 

     // using the IDTSParameterBinding object that is returned from the Add call, set the various properties 
     parameterBinding.ParameterName = "ParamName"; 
     parameterBinding.ParameterDirection = ParameterDirections.Input; 
     // set more properties on parameterBinding as needed ...... 
+0

Благодарим вас за удовольствие – Tempest