我有一个SSIS包,可以将表中的数据从一个SQL Server 2005复制到另一个SQL Server 2005.我使用"数据流"任务执行此操作.在包配置文件中,我公开了目标表名.
问题是当我在配置文件中更改目标表名称时(通过记事本)我收到以下错误"vs_needsnewmetadata".我想我理解了这个问题......当我第一次设置包时,目标表列映射是固定的.
问题:使用ssis包进行上述操作最简单的方法是什么?
我已经在线阅读有关以编程方式设置元数据的内容,但我想避免这一点.我还编写了一个C#控制台应用程序,它可以很好地执行所有操作...所有表格等都在app.config中指定...但显然这个解决方案还不够好.
您是否在数据源目标属性上将DelayValidation设置为False?如果没有,试试吧.
编辑:当然应该是DelayValidation为True,所以它只是继续尝试而不是检查.此外,不是在记事本中更改包,为什么不将表名放在变量中,将变量放入目标上的Expression中,然后在.DtsConfig配置文件中公开变量?然后你可以毫无危险地改变它.