You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSIS中Dts.Events.FireError的errorCode参数可接受值及相关规则咨询

SSIS脚本任务/组件中FireXXX方法的代码参数疑问解答

SSIS的Script Task和Script Component提供.NET编程环境,其中FireInformation、FireWarning、FireError三个事件方法用于向外部传递状态或错误信息,它们的第一个参数分别为informationCode、warningCode、errorCode,针对这些参数的疑问解答如下:

1. 可接受值

官方文档未明确限定具体数值范围,实际使用中只要是**整数类型(int)**均可传入。行业惯例里通常使用自定义正整数区分不同场景,便于后续日志排查定位。

2. 系统保留范围

SSIS没有公开的系统保留代码范围(类似VBA的0-1023/1024-65535)。但需要注意:包内调用的SSIS内置组件或第三方组件可能会使用特定区间的代码,建议自定义代码避开常见系统组件使用区间(比如将0-9999留给系统,自定义代码从10000开始),避免冲突。

3. 相关常量

SSIS没有提供类似VBA vbObjectError 的内置常量,你可以在脚本中自行定义常量统一管理:

// C# 示例
private const int INFO_CONNECT_SUCCESS = 10001;
private const int WARN_FILE_MISSING = 20001;
private const int ERROR_DB_WRITE_FAILED = 30001;
' VB.NET 示例
Private Const INFO_CONNECT_SUCCESS As Integer = 10001
Private Const WARN_FILE_MISSING As Integer = 20001
Private Const ERROR_DB_WRITE_FAILED As Integer = 30001

4. 对应的枚举类型

SSIS没有内置的枚举类型对应这些代码,可根据业务场景自定义枚举提升代码可读性:

// C# 自定义枚举
public enum CustomEventCodes
{
    InfoConnectSuccess = 10001,
    WarnFileMissing = 20001,
    ErrorDbWriteFailed = 30001
}

// 使用示例
Dts.Events.FireInformation((int)CustomEventCodes.InfoConnectSuccess, "连接成功", "数据库连接已建立", "", 0, ref fireAgain);
' VB.NET 自定义枚举
Public Enum CustomEventCodes
    InfoConnectSuccess = 10001
    WarnFileMissing = 20001
    ErrorDbWriteFailed = 30001
End Enum

' 使用示例
Dts.Events.FireInformation(CInt(CustomEventCodes.InfoConnectSuccess), "连接成功", "数据库连接已建立", "", 0, fireAgain)

内容的提问来源于stack exchange,提问作者spinjector

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 04:41:01