让 SSIS 检测 csv 文件的列大小
我正在尝试使用 SSIS 将 csv 文件导入到 SQL 中,但遇到了一个基本缺陷。
SSIS 似乎确定所有字段都是 varchar(50),即使它正确识别了逗号分隔符。
当我尝试将数据发送到 SQL 中的表时,这会导致问题。
有没有办法让它认识到长度为 3 的字段实际上是长度为 3 的字段,而不是 50?
谢谢
I'm trying to import a csv file into SQL using SSIS and am hitting a fundamental flaw.
SSIS seems to determine that all fields are varchar(50), even though it correctly identifies the comma delimiter.
This is causing issues when I try to send the data to my table in SQL.
Is there a way of making it recognise that a field of length 3 is actually a field of length 3, and not 50?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,平面文件连接管理器编辑器中有一个“建议类型”功能。
假设您有第一张图片中显示的 CSV 文件。
创建新的平面文件连接,并在计算机上浏览此文件。 “列”选项卡显示文件的示例。
单击“高级”选项卡。在那里您可以看到所有列都有
DT_STR
类型,长度为 50。您可以看到的是“建议类型...”按钮。单击此。根据需要设置参数。对于我来说,默认值是可以的。单击“确定”。
现在第一列的类型为
DT_STR
,长度为 1 (其他两列也有了新类型。数字列得到了 DT_I1(因为我们选择了最小的适当整数类型选项),日期列得到了 DT_DATE 。 .<图片src="https://i.sstatic.net/Zagzr.jpg" alt="类型已更改">
Yes, there's a Suggest Types function in the Flat File Connection Manager Editor.
Assume you have got a CSV file shown in the first image.
Create a new Flat file connection, and browse this file on your computer. The Columns tab shows the sample of the file.
Click Advanced tab. There you can see all columns have
DT_STR
type with the length of 50. What you can see is the Suggest Types... button. Click this.Set parameters as you like. Defaults are all right in my case. Click OK.
Now the first column has the type of
DT_STR
with the length of 1. (The other two columns have got new types as well. The Number column gotDT_I1
(because we choosed the smallest appropriate integer type option), and the Date column gotDT_DATE
.