SSIS-垂直条与逗号分隔



我的SSIS软件包有一个小问题。我正在导入一个平面文件。其中一个字段正在以十进制值(即32.76(接入。它被映射到INT数据类型列。奇怪的是,如果输入平面文件是逗号界定的,则该值的小数部分被截断了,但它会罚款。但是,如果平面文件为垂直栏(|(,则SSIS软件包会引发错误,表明输入类型是字符串,无法将其转换为INT类型。这是可以理解的,尽管我不确定逗号界的界限为何会截断,而垂直条划定的截断会造成致命错误。这是两者之间的唯一区别。

并且会将列从INT更改为十进制解决问题吗?我不愿意这样做。

谢谢

逗号vs垂直条

如果某些字段值包含定界线字符,则将视为两个字段,要解决此问题,您必须更改定界符或将文本限定符添加到列中。

文本限制符=文本字段包含

的字符

在Flat File Connection Manager中阅读更多信息

如何转换为整数

我不确定是否在源上完成了四舍五入值,因此,如果字段包含小数值,因此您必须将类型更改为十进制或将其更改为类型字符串,并添加派生的列转换或数据转换转换将其转换为整数(我更喜欢使用第二种方法(。

最新更新