南城梦√ 2020-12-08 11:33 采纳率: 0%
浏览 2

ssis 错误处理问题???

问题是这样的,每次走到  统计数据,记录数据  这两块的时候都会出现连接错误失败,但重试下就好了。我想实现一个错误处理的办法,就是当这个组件出现错误时候,重新执行这个组件3次,然后继续执行。不知道各位大佬有没有可行的方案。

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-24 19:12
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要解决这个问题,我们可以使用SSIS (SQL Server Integration Services) 的Try...Catch语句来捕获并处理可能发生的任何异常。以下是一个简单的示例:

    首先,在您的事务中添加一个trycatch块,以捕捉可能出现的错误:

    BEGIN TRY
        -- 在这里编写你的操作代码
    
    END TRY
    
    BEGIN CATCH
        SELECT *
        FROM OPENROWSET(
            'Microsoft.ACE.OLEDB.12.0',
            'Excel 12.0;Database=' + [YourFile].FullName,
            'SELECT * FROM [' + [YourSheet] + ']'
        ) AS odbc_result
        WHERE odbc_result.error_code <> 0
    END CATCH
    

    在这个例子中,我们尝试性地执行了一个OPENROWSET命令,该命令从名为[YourFile]的Excel文件中读取[YourSheet]中的所有列。如果在执行过程中发生错误(例如,文件不存在、无法打开等),那么OPENROWSET将返回一个包含错误码的数据集。我们的CATCH块将遍历此数据集,并检查每个行是否有一个非零的error_code值。如果是这样,我们就知道发生了错误,因此可以进行相应的错误处理。

    请注意,这只是一个基本的例子,实际的解决方案可能会根据你的具体需求有所不同。例如,你可能希望对特定类型的错误采取不同的行动,或者你可能想要跟踪所有的错误而不是仅关注那些导致失败的错误。如果你有更具体的细节或需要进一步的帮助,请随时告诉我。

    评论

报告相同问题?