我有一个 SSIS 程序包,可以将表中的数据从一个 SQL Server 2005 复制到另一个 SQL Server 2005。我通过“数据流”任务执行此操作。在包配置文件中,我公开了目标表名称。
问题是当我在配置文件中更改目标表名称时(通过记事本)我收到以下错误“vs_needsnewmetadata”。我想我理解了这个问题...目标表列映射在我第一次设置包时是固定的。
问题:使用 ssis 包执行上述操作最简单的方法是什么?
我已经在线阅读了有关以编程方式设置元数据的信息,但我想避免这种情况。我还编写了一个 C# 控制台应用程序,它可以很好地完成所有工作......所有表等都在 app.config 中指定......但显然这个解决方案还不够好。
最佳答案
您是否已将数据源目标属性中的 DelayValidation 设置为 False?如果没有,请尝试。
编辑:当然这应该是 DelayValidation 为 True,所以它只是继续尝试而不是检查。此外,为什么不在记事本中更改包,为什么不将表名放入变量中,将变量放入目标的表达式中,然后在 .DtsConfig 配置文件中公开变量?然后你就可以毫无危险地改变它。
关于c# - 如何克服数据流任务中的 vs_needsnewmetadata 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/124005/