在SSIS数据流中动态创建表

11

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

2个回答

13

如果您希望您的软件包创建一个表并将其填充,您可以使用 Execute SQL 任务来创建一个表。只需提供用于创建表的脚本即可。

如果您无法使用 Execute SQLScript 任务,则可以使用 Script 组件,但由于它会为每一行执行一次,所以您需要有创意才能让它仅执行一次。

此外,在运行此软件包时,SSIS 将在验证过程中抱怨找不到表。

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


请查看HLGEM答案的评论。 - divided

7

为什么不在数据流之前的步骤中使用“执行SQL任务”来创建表格呢?


我需要从一个固定宽度的平面文件中导入数据,但是使用批量插入任务时一直出现错误,所以我认为这种方法会更容易些。 - divided
1
如果文件结构始终相同,则可以简单地在单独的脚本中创建表,然后运行该脚本。然后,当您进行插入时,表就在那里了。如果我想重用它们,我通常会在SSIS包外创建所需的对象。 - HLGEM
但出于某种原因,我无法批量插入到表中,因为它不喜欢这个布局。 - divided

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接