2013-03-15 58 views
0
  1. 我有這個sql語句運行在我的ssis包中。我已經硬編碼了電子郵件地址。我怎樣才能通過它作爲變量和外部變量,並可以通過配置文件中的值?執行SQL任務中未識別的變量

  2. @PackageStartTime是系統啓動時間。我已經聲明該變量,並在屬性窗口中設置表達式@[System::StartTime]並評估該表達式。但是,當我運行這個軟件包,當它遇到這個特定的任務時,它卡在那裏說PackageStartTime參數不被識別,結果屬性設置不正確。

這裏是我的代碼:

DECLARE @PackageStartTime Varchar(250) 
SET @PackageStartTime =? 

IF (SELECT COUNT(*) FROM [dbo].[Table1] WHERE RowCDate >= @PackageStartTime) > 0 
BEGIN 
    DECLARE @SUB Varchar(250) 
    SET @SUB = 'File Failed' + @@SERVERNAME 

    DECLARE @BODY Varchar(250) 
    SET @BODY = 'File Failed' + @@SERVERNAME 

EXEC msdb.dbo.sp_send_dbmail 
    @profile_name='default', 
    @recipients='[email protected]', 
    @[email protected], 
    @[email protected], 
    @query= 'SELECT DISTINCT FileLoadName FROM [dbo].[Table1] WHERE RowCDate >= @PackageStartTime', 
    @attach_query_result_as_file=1 

任何想法解決這兩個東西?

在此先感謝。

回答

1

Maina,我剛剛回復了你在這個問題上的另一篇文章。到目前爲止,您已經遇到三篇文章。您在本書中提出的問題本質上是非常普遍的,答案可以在任何好書中找到(例如專業Microsoft SQL Server 2008集成服務)。你也可以在許多網站上找到完整的循序漸進的答案(但是不要用它們來代替一本書;否則你對SSIS的認識將會保持不完整)

就是這樣,這裏有兩個鏈接這回答您的問題:1。 傳遞一個變量:https://www.simple-talk.com/sql/ssis/passing-variables-to-and-from-an-ssis-task/

  1. 從配置指定變量值 - http://www.bidn.com/blogs/DevinKnight/ssis/1655/passing-values-into-an-ssis-package-at-runtime-from-outside-the-package

關注(事實上,它似乎我曾派此鏈接到您之前也是如此。)首先在項目1上。練習完成後,c reate一個新的執行SQL任務,並把他只是他的代碼很多:

DECLARE @PackageStartTime Varchar(40)=? SELECT COUNT(*)FROM [dbo]。[Table1] WHERE RowCDate> = @PackageStartTime;

並將此行計數存儲在包變量iCount中。通過ResultSet屬性返回值。如果您能夠完成此任務,則可提高您對「執行SQL任務」的熟練度。