我有一个SSIS包。它非常简单。它有一个具有以下查询的数据源 和一个flatfile连接管理器。它是一个固定长度的文件和映射正确完成。
数据源查询主键列。如果源列的值为156,则此列的文件的输出格式应为例如:000000156。因此,此列的输出格式应为长度为9且带有填充的零。
为了达到这个目的,我写了如下查询:
select left(('000000000' + case(clientid as varchar(9)), 9) as clientname from client
我测试了数据源的输出,例如返回000000125。我将源的列映射到具有正确长度的flatfile输出。
但是当我试图查看文件的输出或预览flatfile连接管理器时,我只在第一列中看到'125',这意味着我看不到填充的零并且我有空格。我期待第一列的格式为'000000125'。不确定我缺少什么,我是SSIS的新手。
答案 0 :(得分:2)
检查DataSource的输出;听起来你正在使用数值数据类型。尝试将其更改为字符串。