在SSIS OLE DB源任务中有一个没有名称的数据源列

时间:2015-09-02 13:07:07

标签: tsql ssis

在我的SP的END,我从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时出现此错误:

NoDataSourceColumnError

如何创建数据源列,以便TEXT显示在我的CSV文件中,我使用SSIS通过电子邮件发送附件?

任何帮助/指示将不胜感激。感谢。

感谢您的帮助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

1 个答案:

答案 0 :(得分:0)

IF @InactiveRulesCount = 0
BEGIN
    SELECT @InactiveRulesMessage = ('No EXCEPTION KO Rules Found.');
    SELECT @Message = @InactiveRulesMessage;
    SELECT @Message as MyRule,@Message as myID,@Message as MyMessage
END
ELSE
BEGIN
    SELECT MyRule,myID,MyMessage FROM #InactiveRules;
END