【问题标题】:SSIS Package says execution completed with success but there is no data in my table?SSIS 包说执行成功完成但我的表中没有数据?
【发布时间】:2019-10-03 20:43:35
【问题描述】:

我有这个 SSIS 包,它可以将选项卡文件中的数据导入我的 SQL Server。当我调试或执行时,它显示所有行都已通过,如下所示

但每次我在 SQL Server 中检查表时,它都会显示如下:

有什么想法吗?

【问题讨论】:

  • 只是像我之前所做的那样检查......您是否正在寻找适合您选择的数据库?
  • @Harry 是的,先生。我正在确保它在 DBO 月刊中的主表。 SSIS 包中的目的地也是如此。
  • 表上可能有触发器拒绝数据。你可以在这个包中有一个 Truncate 语句,或者一个不同的进程正在清理表。可能是有一个表达式覆盖了连接字符串,并且数据没有到达您期望的位置。需要更多信息。
  • 另外,迂腐点 - 它是数据库 Monthly 的 dbo 模式中的主表
  • 与@Harry 问的内容有关:您确定您正在寻找正确的服务器吗?即:您的 BIDS 屏幕截图中的 DestinationConnectionOLEDB 连接管理器可能指向其他地方。

标签: sql-server ssis ssms


【解决方案1】:

我前段时间遇到过这个问题。问题是你可能有你的错误输出来忽略失败。将其放回失败组件。现在这是乏味的部分。调试它,它会出错。但是错误会告诉你是哪一列搞砸了,为什么。从那里返回您的 SQL Server 数据库表并查看该列的数据类型,返回您的 ConnectionFlatFile 源并将该列更改为 SQL Server 中的数据类型。冲洗并重复,直到不再出现错误,并且它末尾的所有行都应该在您的数据库中。

我不知道更快的方法,但是当我第一次设置数据库时,我将一堆平面文件全部导入为 string[DT_STR] 255,因为它是最快的....但后来我不得不去返回并修复每个列数据类型。希望这可以帮助。

【讨论】:

    【解决方案2】:

    可以在“进度”选项卡中查看日志。这必须显示插入到目标表的 262927 条记录。

    【讨论】:

    • 所以我刚刚检查了进度,我发现了这个“[SSIS.Pipeline] 信息:“Destination - MASTER”写了 0 行。”所以我想现在的问题是......为什么它会经历写 0 行的过程......问题是这个包几天前还在工作,直到最近那个特定的表才开始显示空白。
    猜你喜欢
    • 1970-01-01
    • 2015-04-29
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多