0

我使用SP調用一個SSIS包,我以前使用調用參數SSIS包從存儲過程

EXEC msdb.dbo.sp_start_job

問題是我需要傳遞一個參數,當我打電話給該包,我無法做到這一點。實施例下面:

ALTER PROCEDURE [dbo].[Clawback] 
     @Country  CHAR(2) 
    , @StartDate  DATETIME 
    , @EndDate  DATETIME 
AS 

BEGIN 
    BEGIN TRY 
     TRUNCATE TABLE [dbo].[ClawbackConfig] 
     INSERT INTO [dbo].[ClawbackConfig] 
(
      Country 
      ,StartDate 
      ,EndDate 
      ) VALUES (
       @Country 
       ,@StartDate 
       ,@EndDate 
       ) 

EXEC msdb.dbo.sp_start_job N'ExecuteJob' 

這個存儲過程是用於運行使用所需的天及國家的提取物,這些值被存儲在一個表,並在通常的漸進的過程中使用。

我想提一下,我們的想法是對增量+回撥使用相同的包,並且增量過程需要country參數。

因此,我需要以某種方式將此過程中給出的@Country傳遞給包。 該包存儲在Integration Services SQL Server 2008中,因此我無法使用catalog.create_execution或cmd。有關於此的任何想法?是唯一使用C#的解決方案嗎?

非常感謝。

+1

可能。重複的[如何傳遞參數來設置存儲過程中的SQL Server代理作業的值?](http://stackoverflow.com/questions/32822332/how-do-i-pass-parameter-to-set-value- in-sql-server-agent-job-from-stored-procedu) –

回答

1

有沒有辦法做到這一點。您可以從SSIS配置無論是讀取(在被稱爲PROC見:

http://blogs.lessthandot.com/index.php/datamgmt/dbprogramming/execute-ssis-from-sql/) 

,或者您的值存儲到被調用的進程內讀取,然後一個表,使用讀取變量在proc

+0

我很害怕你會這麼說,非常感謝你的鏈接和建議,我想我會改變方法並使用一個配置表 – Akane

+0

If你認爲答案是正確的(即使它不是你想要的東西)聽到)你應該把它標記爲可接受的,通過檢查它。謝謝,本 –

+0

死鏈接...取代了? – qJake

相關問題