【问题标题】:Dynamically create table in SSIS data flow在 SSIS 数据流中动态创建表
【发布时间】:2011-08-29 18:25:46
【问题描述】:

如何让 SSIS 数据流创建一个不存在的表?每次我尝试运行包时,它都会提示我目标表不存在。

【问题讨论】:

    标签: ssis


    【解决方案1】:

    由于您希望您的包创建一个表然后填充它,您可以使用Execute SQL 任务创建一个。只需给它创建表格的脚本即可。

    如果您没有使用Execute SQLScript 任务的选项,那么您可以使用Script 组件,但由于它针对每一行执行,您必须有创意才能拥有它只执行一次。

    另外,当你运行这个包时,SSIS 会抱怨在验证期间找不到表。

    为了解决这个问题,在包属性中,在填充表格的数据流中,将 Delay Validation 属性设置为 True

    【讨论】:

    • 查看对 HLGEM 答案的评论。
    【解决方案2】:

    为什么不在执行 SQL 任务中数据流之前的步骤中创建表?

    【讨论】:

    • 我必须从一个固定宽度的平面文件中导入数据,并且在批量插入任务中不断出现错误,所以我认为这会容易得多。
    • 如果文件始终具有相同的结构,则只需在单独的脚本中创建表,然后运行一次即可。然后,当您进行插入时,表格就在那里。如果我想重用它们,我会在 SSIS 包之外创建所需的对象。
    • 但由于某种原因,我无法批量插入表格,因为它不喜欢布局。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-26
    • 1970-01-01
    • 2023-03-20
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 2016-04-09
    相关资源
    最近更新 更多