2017-08-03 48 views
0

嗨我試圖使用msdb.dbo.sp_send_dbmail使用包生成的批生產ID從我的包中向團隊發送錯誤記錄的電子郵件。
我的查詢運行時,它的寫入格式爲:SSIS使用send_dbmail發送包含錯誤記錄的電子郵件

@query = 'SELECT BatchID,ErrorRecord FROM dbo.ErrorLog其中 BatchID =(選擇馬克斯(BatchID)從dbo.ErrorLog)'

但我想要這個使用參數映射,所以我可以只獲取在SSIS中使用execute sql任務生成的特定BatchID的記錄。
我的查詢看起來是這樣的:

@query =「SELECT BatchID,ErrorRecord FROM dbo.ErrorLog其中 BatchID =?

我在execute sql任務的參數映射中映射了'$ package :: BatchID'。 但仍然由於某種原因,這個查詢似乎沒有拿起任何錯誤行。
你能幫我解決這個問題嗎?

+0

你可以把你如何設置參數的圖片.... – Hackerman

回答

0

這裏的問題是查詢沒有檢測到「?」。 所以我創建了一個新的變量MailQuery在SSIS一個字符串變量,並通過查詢作爲

「SELECT BatchID,ErrorRecord FROM dbo.ErrorLog其中BatchID =」 +(DT_WSTR,10)@ [$包::批次ID]

在參數映射中的執行sql任務放置此新變量。 在SQL語句中寫入

@query =?

現在任務完全正常。

相關問題