我有一个SSIS包,可以将XML文件导入SQL。例如,一个特定字段的数据可以是“112”或“039”。它总是三个字符,如果只有两个则填充前导0。
SQL中的Destination字段是varchar。由于某些原因或其他原因,SSIS将其更改为DT_UI2,而在“039”的情况下,只有'39'。
我添加了一个数据转换,将其转换为DT_WSTR,但这没有用
使用带有以下表达式的派生列:
RIGHT("000" + (DT_WSTR,50)[Source Column],3)
最初生成的XSD将此字段定义为unsigned short。将其更改为字符串并重做流程解决了问题