【问题标题】:How to configure error logging at Source level in a Data Flow Task of SSIS如何在 SSIS 的数据流任务中在源级别配置错误日志记录
【发布时间】:2012-01-08 17:58:54
【问题描述】:

如何在 SSIS 的数据流任务中配置源级别的错误日志记录?

示例中使用的示例脚本。

create table test_data (col1 int, col2 varchar(100))

insert into test_data values (1, '00 0');
insert into test_data values (2, '02');

带有以下查询的 OLE DB 源 SQL 命令

select * from test_data where col2=0;

此查询失败

目标是一个平面文件。

执行过程中报以下错误。

OLE DB 源 [1] 错误:SSIS 错误代码 DTS_E_OLEDBERROR。一个 OLE 数据库 发生错误。错误代码:0x80040E07。 OLE DB 记录是 可用的。来源:“Microsoft SQL Server Native Client 10.0”Hresult: 0x80040E07 描述:“转换varchar时转换失败 值 '00 0' 到数据类型 int。"。

运行包时出现上述错误。我知道查询不正确但我不打算更改源查询,这是从我的应用程序派生的示例。

为了通过指定位置将此错误记录到 LOG 文件中,我应该怎么做?

我尝试使用错误输出,但它只处理来自 Source 的数据的错误,而不是查询。

【问题讨论】:

  • 如果您发布代码、XML 或数据示例,在文本编辑器中突出显示这些行,然后单击编辑器上的“代码示例”按钮 ({ })工具栏以很好地格式化和语法突出显示它!如果您发布错误消息,使用块引号(`"`)正确格式化错误消息。
  • 您试图通过错误记录来完成什么?简单的答案是打开 Logging,选择 OnError 事件并完成它,但这可能无法满足您的需求。

标签: sql sql-server-2008 ssis


【解决方案1】:

您可以通过多种方式记录错误。

1.您可以使用 SSIS 日志记录功能。 SSIS->日志记录

选择提供程序类型(文本文件的 SSIS 日志提供程序)以防您希望将错误保存在文本文件中。

    Go the Details tab and select OnError Event .

2.在组件的事件处理程序中点击On Error事件并拖放一个Script Task并编写代码来捕获错误并将其保存到文本文件中。使用系统变量(System: :ErrorCode) 和 (System::ErrorDescription) 了解错误信息

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 2011-08-27
    • 2011-07-26
    相关资源
    最近更新 更多