【发布时间】:2018-07-25 08:26:23
【问题描述】:
我的 SSIS 包有一个小问题。我正在导入一个平面文件。其中一个字段带有十进制值,即 32.76。它被映射到一个 int 数据类型列。奇怪的是,如果输入的平面文件是逗号分隔的,它会很好地导入,尽管值的小数部分被截断。但是如果平面文件是竖线分隔的(|),那么SSIS包会抛出一个错误,表明输入类型是字符串,不能转换为int类型。这是可以理解的,尽管我不确定为什么逗号分隔会截断,而竖线分隔会引发致命错误。这是两者之间的唯一区别。
将列从 int 更改为 decimal 可以解决问题吗?我不愿意这样做。
谢谢
【问题讨论】:
-
您应该将列类型更改为十进制,因为这是您获取的数据。如果您想在数据流中对其进行四舍五入,那是您的特权。
标签: sql-server ssis etl delimiter flat-file