You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BIML生成的固定宽度平面文件连接中二进制列OutputColumnWidth为0的问题咨询

解决BIML生成固定宽度平面文件时二进制列OutputColumnWidth为0的问题

我之前也碰到过一模一样的问题,这其实是BIML处理固定宽度二进制列时一个容易忽略的细节:BIML不会自动为二进制类型的固定宽度列映射OutputColumnWidth属性,但字符串类型列会自动根据Length值填充这个属性,所以才会出现只有二进制列配置异常的情况。

问题原因

在SSIS的平面文件连接管理器中,二进制列的OutputColumnWidth需要明确指定才能正确解析固定宽度的二进制数据,但BIML里的Length属性主要对应列的存储长度,并不会自动同步到OutputColumnWidth上——而字符串列的Length会被BIML自动用作OutputColumnWidth的值,所以字符串列的配置完全正常。

解决方案

只需要在二进制列的BIML定义中手动添加OutputColumnWidth属性,将其值设置为和Length、MaximumWidth一致的数值即可。

修改后的BIML代码示例:

<FlatFileFormat Name="(FFF) MyFixedWidthFlatFile" CodePage="1252" FlatFileType="FixedWidth" RowDelimiter="" IsUnicode="false" TextQualifier="_x003C_none_x003E_"> 
<Columns> 
<Column Name="HEADER" DataType="Binary" Length="2" OutputColumnWidth="2" Delimiter="" TextQualified="false" ColumnType="FixedWidth" MaximumWidth="2"></Column> 
<Column Name="DESCRIPT" DataType="AnsiString" Length="30" Delimiter="" TextQualified="false" ColumnType="FixedWidth" MaximumWidth="30"></Column>
</Columns>
</FlatFileFormat>

添加OutputColumnWidth="2"后,重新生成SSIS包,你会发现二进制列的OutputColumnWidth已经正确设置为2,和字符串列一样可以正常解析固定宽度数据了。

内容的提问来源于stack exchange,提问作者Simon Blais

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 15:39:10