【问题标题】:SSIS Single Source & Destination Data Flow Task Connection Open CloseSSIS 单源和目标数据流任务连接打开关闭
【发布时间】:2018-02-26 21:31:58
【问题描述】:

如果我错过了这个话题,请原谅我。我查看了类似的问题,但没有一个具体的。我一直在查看 MS 文档,我想我找到了答案,但是我需要澄清。

我有一个在 Visual Studio 2015 中创建的 SSIS ETL 包。我有一个单一的源表和目标表,但是数据相当大 (16M+)。所以我发现我可以通过数据中的一列将这些数据拆分为每个他的数据点(位置)大约等于 3M 的记录的部分。我目前正在创建多个 DFT(数据流任务)来处理此问题,没有特定的顺序,将每个位置 DFT 加载到 SQL Server 2016 表中的单个目标中。

我的问题是:当每个 DFT 完成并移动到下一个 DFT 时,与源的连接是否会重置?

到目前为止,我的研究将我引向了事务选项设置(支持/不支持),但 MS 文档很难破译,因为它只提到将行提交到目的地或回滚。

如果 DFT 之间的连接保持打开状态,或者连接处于父级或每个 DFT 正在使用中,这似乎无法解决。

感谢您对此的澄清。

【问题讨论】:

    标签: sql-server visual-studio-2015 ssis sql-server-2016


    【解决方案1】:

    您可以通过设置RetainSameConnection 属性来选择连接的行为。参考this article

    RetainSameConnection 是 OLEDB 连接管理器的属性。这 此属性的默认值为 FALSE。此默认值使 SSIS 执行引擎为使用的每个任务打开一个新的 OLEDB 连接 连接并在任务完成时关闭该连接

    在您的情况下,您可以测试此属性是否对您有帮助。在同一个目标表上运行并行 DFT可能会导致插入以无序的方式发生。所以请确保您不受它的影响。

    【讨论】:

    • 就像一个注释。我也在 Teradata Attunity Driver 连接属性中找到了相同的设置。我认为这与 OLEDB 以外的多种连接类型有关,或者至少我希望如此。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-03
    • 2021-02-25
    • 2019-12-31
    • 2017-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多