在我的SP的我是從一個數據呼叫流程OLE DB Source對象在SSIS最後,我有以下代碼:沒有在SSIS OLE DB源任務沒有名字的數據源列
-- Get count from TEMP table #InactiveRules
SELECT @InactiveRulesCount = (SELECT COUNT(*) FROM #InactiveRules)
-- Define information sent in the email
IF @InactiveRulesCount = 0
BEGIN
SELECT @InactiveRulesMessage = ('No EXCEPTION KO Rules Found.');
SELECT @Message = @InactiveRulesMessage;
SELECT @Message;
END
ELSE
BEGIN
SELECT * FROM #InactiveRules;
END
當我執行數據流任務,我得到這個錯誤,當我在我的變量@InActiveRulesCount具有計數0:
如何創建一個數據源列,以便該文本中顯示我使用SSIS通過電子郵件發送附件的CSV文件?
任何幫助/方向將不勝感激。謝謝。
感謝您的幫助MiguelH,這裏是代碼:
-- Get count from TEMP table #InactiveRules
SELECT @InactiveRulesCount = (SELECT COUNT(*) FROM #InactiveRules)
-- Define information sent in the email
IF @InactiveRulesCount = 0
BEGIN
SELECT @InactiveRulesMessage = ('No EXCEPTION KO Rules Found.');
SELECT @Message = @InactiveRulesMessage;
SELECT @Message AS ProductName;
SELECT @Message AS ChannelName;
SELECT @Message AS StrategyCode;
SELECT @Message AS StrategyName;
SELECT @Message AS RuleCode;
SELECT @Message AS RuleName;
SELECT @Message AS [Priority];
SELECT @Message AS IsActive;
SELECT @Message AS [Message];
END
ELSE
BEGIN
SELECT ProductName, ChannelName, StrategyCode, StrategyName, RuleCode, RuleName, [Priority], IsActive FROM #InactiveRules;
END
列沒有名稱的IF數= 0的一部分。在選擇的末尾添加一個別名。例如SELECT @MESSAGE AS MESSAGE。 – MiguelH
謝謝,MiguelH。但是,這產生了另一個錯誤:「組件」OLE DB源「(1)」驗證失敗並返回驗證狀態「VS_NEEDSNEWMETADATA」。 有什麼建議嗎?再次感謝。 – Melinda
您需要= 0部分和select *部分中的相同數據名稱,否則會導致此錯誤。如果你的SELECT * FROM #InactiveRules有列「規則,ID,消息」,那麼這些需要在= 0部分被鏡像。基本上分配消息AS規則,消息作爲ID,消息AS消息。我已經在下面澄清了這一點! – MiguelH