我目前正在开发一个SSIS包,我们正在从SSIS 2005迁移到SSIS 2008.
问题是当前版本的开发人员使用的事实是,在SSIS 2005中,NULL列的访问者返回0,而SSIS 2008则抛出异常。
此外,他们广泛使用这样的表达式:
IIf(Row.X_IsNull, System.DBNull.Value, Row.X)
问题是在SSIS 2008中,无论条件是否设置为true,程序仍会尝试读取Row.X并抛出异常。
包很大,将所有这些IIfs转换为带有临时变量的手动Ifs需要很长时间。
任何帮助都会非常感激,
PM
答案 0 :(得分:1)
将包保存为文件。这是一个XML文件。在文本编辑器中找到您要更改的代码,然后拉出相关部分以便稍后搜索。在BIDS中,进行第一次修复并重新保存文件。然后,您可以在文本编辑器中打开文件,找到问题的其他实例(您知道从早期文件中查找要查找的内容),并使用在文件中生成的相同类型的代码替换它们。保持安全,然后在BIDS中打开并进行测试。