【问题标题】:SSIS package container failures with VS_ISBROKEN带有 VS_ISBROKEN 的 SSIS 包容器失败
【发布时间】:2018-04-16 12:38:31
【问题描述】:

我目前正在使用 SQL Server 2014 和 MYSQL。

我的包包含许多容器,每个容器检查一个 MYSQL 表以查看其自身与同名的 SQL 表之间是否有任何新的或更新的记录,并相应地处理,插入或更新。

一半的包运行良好,然后它在随机容器上失败,说 VS_ISBROKEN。 Metta Data 似乎没有任何问题,因为单独运行时一切正常。

我已经重建了各种失败的容器,创建了一个全新的 SSIS 包,为 MYSQL 和 SQL 表创建了新的连接,但似乎没有任何东西可以解决这个问题。

如果您自己运行容器,它工作正常,如果您进入编辑容器并检查映射,一切都很好。除了完全相同的错误之外,没有其他模式。

我现在要尝试的东西不多了,有什么建议吗?

【问题讨论】:

    标签: mysql sql-server ssis


    【解决方案1】:

    此类错误可能是 MySQL 端表定义(或元数据)更改的标志。

    例如:

    1. 列可空性或类型已更改
    2. 添加或删除列

    确实,当您打开包以编辑和检查映射时,它们将被刷新以便问题得到解决,但只有在表定义发生新变化之前

    【讨论】:

    • 感谢您的回复,没有添加或更改列,实际上有时您可以从一开始运行包,突然该容器会成功但下一个失败。它与 MYSQL 数据库设置方面有什么关系吗?
    • 该错误实际上与元数据更改有关。你也可以试试这几个步骤:1)将 Run64BitRuntime 设置为 false; 2) 在使用 mysql 的所有数据流上将“延迟验证”设置为 TRUE。 3)尝试按顺序加载它们
    • 感谢您的回复,我已经在 mysql 连接上设置了延迟验证,并且它们已经加载得非常好。我尝试设置 Run64,但是任何只做基于 SQL 而不是 MYSQL 的容器都需要永远运行,已经将它交换回来,现在正在努力让以前从未失败过的容器运行?任何进一步的帮助都会很棒!
    • 只是更新这个以防万一有人可以提供帮助,现在看来,如果容器需要更多时间来处理其中的任务,则以下容器会失败。每个容器从 MYSQL 数据库中提取一些记录并将它们放入 SQL 服务器,同时决定它们是更新记录还是新记录。如果此步骤需要一些时间,则 MYSQL 会断开连接,我不明白它为什么会这样做,因为我有许多其他实例或 mysql 在做类似的事情但没有错误。 mysql端的某个地方是否存在超时,在这么长时间后断开连接?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多