【发布时间】:2017-03-17 16:05:09
【问题描述】:
我正在尝试使用 SSIS 将 Csv 文件导入 SQL SERVER
这是一个数据看起来如何的示例
Student_Name,Student_DOB,Student_ID,Student_Notes,Student_Gender,Student_Mother_Name
Joseph Jade,2005-01-01,1,Good listener,Male,Amy
Amy Jade,2006-01-01,1,Good in science,Female,Amy
....
Csv 列不包含文本限定符(引号)
我使用 SSIS 创建了一个简单的包以将其导入 SQL,但有时 SQL 中的数据如下所示
Student_Name Student_DOB Student_ID Student_Notes Student_Gender Student_Mother_Name
Ali Jade 2004-01-01 1 Good listener Bad in science Male,Lisa
原因是 somtimes [Student_Notes] 列包含用作列分隔符的逗号 (,),因此未正确导入 Row
任何建议
【问题讨论】:
-
更改列分隔符,列数据中包含列分隔符是不好的做法
-
怎么做...我不是创建这些 csv 文件的人
-
也许你可以用某种编程语言创建一个程序,这样你就可以逐行读取这些文件并根据需要处理数据
-
你能自动确定哪个是有问题的逗号吗?如果是这样,您可以编写一个脚本来清理它。解决这个问题的一种方法似乎是计算每行逗号的数量,如果有太多,从右边开始删除它们。您可以手动将此算法应用于您的数据并查看它是否正确。如果是这样,我可以帮助您编写一个预先清理它的脚本。
-
我会给你一些代码,但有一点建议:永远不要说“code plz”,这有点烦人。
标签: sql sql-server csv ssis delimiter