我正在從SSIS包調用StoredProcedure。該存儲過程具有三個輸入參數,如開始日期,結束日期和字符串變量。使用輸入參數在SSIS包中調用storedprocedure
我們從.Net應用程序調用SSIS包。因此,我們必須將參數從C#代碼傳遞給SSIS包,然後傳遞給StoredProcedure。
我正在尋找文章和編碼器來暗示我。
我正在從SSIS包調用StoredProcedure。該存儲過程具有三個輸入參數,如開始日期,結束日期和字符串變量。使用輸入參數在SSIS包中調用storedprocedure
我們從.Net應用程序調用SSIS包。因此,我們必須將參數從C#代碼傳遞給SSIS包,然後傳遞給StoredProcedure。
我正在尋找文章和編碼器來暗示我。
這是一個可能的解決方案。您可以在SSIS包中聲明變量,並將存儲過程設置爲使用它們作爲輸入變量。然後,將值傳遞給C#中的變量。
下面是一個例子:
在這種情況下,我插入狀態和國家通過從C#傳遞值到一個表。
StoredProcedure
,Country
和State
。EXEC dbo.InsertData @Country, @State
分配給變量StoredProcedure
。請參閱屏幕截圖#。Variable
。User::StoredProcedure
至SourceVariable。請參閱屏幕截圖#。Microsoft.SQLServer.ManagedDTS
。。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
namespace CS.ExecuteSSIS
{
class Program
{
static void Main(string[] args)
{
Application app = new Application();
Package package = app.LoadPackage(@"C:\Learn\SSIS\Learn.SSIS\Learn.SSIS\CallFromCS.dtsx", null);
Variables vars = package.Variables;
vars["Country"].Value = "US";
vars["State"].Value = "California";
DTSExecResult result = package.Execute();
Console.WriteLine("Package Execution results: {0}", result.ToString());
}
}
}
存儲過程dbo.InsertData:
CREATE PROCEDURE [dbo].[InsertData]
(
@Country NVARCHAR(50)
, @State NVARCHAR(50)
)
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO dbo.SSISUsingCS (Country, State) VALUES(@Country, @State)
END
希望有所幫助。
截圖#1:
截圖#2:
截圖#2:
截圖#3:
請參閱有關Application
object和Package
object的信息,其中Execute(Connections, Variables, IDTSEvents, IDTSLogging, Object)
method允許傳入參數。
var app = new Application();
Package myPackage = app.LoadFromSqlServer("myPackage", "server", "login", "password", null);
Variables params = myPackage.Variables;
params["StartDate"].Value = DateTime.Now;
params["EndDate"].Value = DateTime.Now;
params["StringVariable"].Value = "ooh a string";
var packageResult = myPackage.Execute(null, params, null, null, null);
剛剛發現這個鏈接,並與此嘗試.. http://geekswithblogs.net/stun/archive/2009/ 3月5日/映射-存儲過程參數合SSIS-OLE-DB-源editor.aspx – goofyui 2011-05-26 20:45:54
不,從C#語法 – goofyui 2011-05-26 20:09:03