我是使用ssis的新手,我是第三个包。我们将数据从Oracle转移到Sql Server。在我的oracle表上,唯一键称为recnum,是数字(12,0)。在这个特定的包中,我试图从oracle中获取记录,在sql server表中查找是否找到该唯一键,如果没有将记录添加到sql server表中。我的问题是它找不到匹配。经过大量测试后,我想出了以下方法。但我不明白为什么我必须这样做。
我目前如何运作: 我从oracle获取数据。在下一步中,我添加了一个使用oracle列的派生列。 (表达式只是那个字段,没有其他格式。)然后在查找中我使用派生列而不是Oracle中的列。
我们已经在另一个表上完成了这个,其中唯一键是数字(8,0)并且它工作正常而不需要派生列。
答案 0 :(得分:0)
SSIS对数据类型非常挑剔,如果数据类型匹配,查找只能很好地工作。
双击数据流对象之间的数据路径行以检查数据类型。当我使用查找时,我使用数据转换任务或CAST语句来强制匹配数据类型。
希望这有帮助。