我从管道分隔文件中提取并插入到 SQL Server 2008 R2 数据库表中。我的整数列之一在它进入表时不包含正确的值。
我可以在我的第一个对象(平面文件源)之后立即将数据查看器添加到数据流中,并将数据与在记事本中打开的源文件并排比较。我的字符串列都可以,但是这些唯一的七位整数被三个值之一替换(但原始文件中有 16K 唯一行)。新值看起来像它们正在替换的值,相同的格式和范围,但它们不会出现在源文件中。它们实际上看起来好像被缓存在某个地方。
更多信息:源中的外部列是 50 字符字符串,输出列是 4 字节 int。文件源的连接字符串由一个表达式设置,该表达式基于一个早期脚本设置的变量,该脚本在导入目录中查找候选文件。之前或之后没有其他任务可以转换或以其他方式修改数据;这个包纯粹是另一个处理数据的过程的提取过程。被替换的值不会出现在包文件的 XML 中(我搜索了它以防我们留下了一些与数据混淆的旧代码)。
我可以重新创建任务,一切似乎都可以正常工作,但我没有看到可以解释这一点的属性有任何差异,然后我担心它会再次中断。我真的很想了解这里出了什么问题。
有什么想法可以“破坏”这样的数据吗?