我有一个带有引号文本分隔符的 CSV 文件。 90000 行中的大部分都很好,但有几行的文本字段包含引号和逗号。例如,字段值将是:
AB",AB
当分隔时,这变成
"AB"",AB"
当 SQL 2005 尝试导入此内容时,我收到诸如以下错误:
Messages Error 0xc0202055: Data Flow Task: The column delimiter for column "Column 4" was not found. (SQL Server Import and Export Wizard)
只有当引号和逗号同时出现在文本值中时,才会出现这种情况。值如
AB"AB 变为 "AB""AB" 或者 AB,AB 变为“AB,AB”
工作正常。
以下是一些示例行...
"1464885","LEVER WM","","B","MP17" "1465075",":PLT-BC !!NOTE!!","","B","" "1465076","BRKT-STR MTR !NOTE!","","B","" "1465172",":BRKT-SW MTG !NOTE!","","B","MP16" "1465388","BUSS BAR !NOTE!","","B","MP10" "1465391","PLT-BLKHD ""NOTE""","","B","MP20" "1465564","SPROCKET:13TEETH,74MM OD,66MM","ID W/.25"" SETSCR","B","MP6" "S01266330002","CABLE:224"",E122/261,8 CO","","B","MP11"
最后一行是问题的示例 - “”导致错误。
最佳答案
我在使用 SSIS 时遇到了严重问题。 Access、Excel 甚至 DTS 看起来都做得很好,但 SSIS 却感到窒息。可变记录长度数据是另一个问题,但是,是的,这些嵌入式限定符是一个主要问题。特别是如果您无权访问导入文件,因为它们位于您付费访问的其他人的服务器上,甚至可能有 4 到 5 GB 大小!不能只是在每次导入时“全部替换”。
您可能需要在名为“UnDouble”的 Microsoft 下载中查看此内容,这里是另一个 workaround你可以尝试一下。
看起来就像 SQL Server 2008 中的 SSIS 一样,该错误仍然存在。我不知道为什么他们没有在解析器中解决这个问题,但这就像我们回到了 SSIS 基本导入功能的时代。
2010 年 11 月 18 日更新:此错误在 SSIS 中仍然存在。太棒了。
关于sql-server - SQL 2005 CSV 导入引号用内部引号和逗号分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/711166/