2017-01-16 386 views
0

我加载一个平面文件到SQL数据库。平面文件用逗号分隔。某些列值有逗号而没有用双引号封装(例如 - HPPV,TIRE)。现在,当我尝试使用逗号作为文本限定符时,我收到一条消息,指出列分隔符和文本限定符不能相同。如何使用逗号作为两个列分隔符和文本限定符

我想以某种方式使用逗号作为文本识别符,使平面文件保持价值 - HPPV,轮胎作为单一实体 - HPPVTYRE或HPPV条轮胎,而不是在它蔓延到下一列。

有什么办法,我们可以使用逗号作为文本限定符,它已经是一个列分隔符?????

+0

没有道理。你能不能与谁提供这个文件给你,让他们提供一个替代版本,他们已经做了一些理智的工作?文本分隔符是指在对被使用,并且被用于表示这样的一对中,逗号和不应该被解释为这样的。如果它们是相同的字符,你怎么可以,或者我,或者一台电脑,可能都知道,当它遇到这样的性格,无论是“这是由文字分隔符保护的逗号分隔符”或“这是结束文本分隔的部分“。 –

+0

或者换句话说,我会假设你的提案有效。这里有3列的一些数据,其中一列包含一个嵌入式逗号 - “aaa,bbb,ccc,ddd”。如果您可以告诉我*哪些列包含嵌入的逗号,请清楚解释这是如何工作的。 –

+0

你的源文件有多大?把源文件分成好的行和坏的行怎么样?创建一个读入整行的源文件连接器。使用平面文件创建数据流使用此新连接的源以线条形式读取源平面文件。使用派生列添加CommeCount列'LEN​​([LineColumn]) - LEN(REPLACE([LineColumn],“,”,“))),使用条件分割将任何具有CommaCount> 10的行发送给一个新的平面文件目的地。然后分别处理这两个文件。 –

回答

0

不,我不这么认为,但我搜查,发现this article这可能会有帮助。

相关问题