在SSIS数据流中动态创建表
如何让 SSIS 数据流创建一个不存在的表?每次我尝试运行该包时,都会出现错误,指出目标表不存在。
How can I have an SSIS data flow create a table that doesn't exist? Every time I try to run the package, it gives me an error saying that the destination table doesn't exist.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
由于您希望包创建一个表然后填充它,因此您可以使用
执行 SQL
任务创建一个表。只需为其提供创建表的脚本即可。如果您无法选择使用
执行 SQL
或脚本
任务,那么您可以使用脚本
组件,但由于它的执行时间为每一行,您都必须发挥创意才能让它只执行一次。另外,当您运行此包时,SSIS 会报告在验证期间未找到该表。
为了解决这个问题,在包属性中,在填充表的数据流中,将
Delay Validation
属性设置为True
Since you want your package to create a table and then populate it, you can create one using the
Execute SQL
task. Just give it the script to create your table.If you do not have the option of using an
Execute SQL
orScript
task, then you can use aScript
Component, but since it executes for every row, you'll have to get creative to have it execute only once.Also, when you run this package, SSIS going to crib about the table not being found during Validation.
To counter that, in the package properties, in data-flow that populates the table, set
Delay Validation
property toTrue
为什么不在执行 SQL 任务中数据流之前的步骤中创建表?
WHy not create the table in the step before the dataflow in an execute SQL task?