让SSIS检测csv文件的列大小

时间:2012-02-21 06:14:37

标签: ssis

我正在尝试使用SSIS将csv文件导入SQL,并且遇到了一个根本性的缺陷。

SSIS似乎确定所有字段都是varchar(50),即使它正确识别逗号分隔符。

当我尝试在SQL中将数据发送到我的表时,这会导致问题。

有没有办法让它认识到长度为3的字段实际上是长度为3的字段而不是50字段?

由于

1 个答案:

答案 0 :(得分:2)

是的,平面文件连接管理器编辑器中有一个建议类型功能。

假设您在第一张图片中显示了一个CSV文件。

Sample CSV

创建新的Flat文件连接,并在您的计算机上浏览此文件。 “列”选项卡显示文件的示例。

Columns of this CSV in Flat File Connection Manager Editor

单击“高级”选项卡。在那里,您可以看到所有列都有DT_STR类型,长度为50.您可以看到建议类型...按钮。点击这个。

Advanced settings of CSV

根据需要设置参数。在我的情况下,默认值是可以的。单击“确定”。

Suggest Types...

现在第一列的类型为DT_STR,长度为1.(其他两列也有新类型。数字列得到DT_I1(因为我们选择了最合适的整数类型选项),日期列得到DT_DATE

Types changed