从文本限定符为“

简介

我们有一种非常标准的方法,可以使用SSIS将.txt和.csv导入我们的数据仓库。

我们的txt / csv文件以语音标记作为文本限定符。因此,典型的文件可能如下所示:

"0001","025",1,"01/01/19","28/12/18",4,"ST","SMITH,JOHN","15/01/19"
"0002","807","29/12/18",3,"JOnes,JOY","06/02/19"
"0003","160","LEWIS,HANNAH","18/01/19"

我们已经将所有SSIS软件包设置为通过设置Text Qualifier =“

来去除语音标记。

问题

但是,由于我们的某些数据输入是手动完成的,因此有时会使用语音标记-特别是在人们有昵称/别名的自由文本字段(例如NAME)中。这会导致我们的SSIS加载错误。

有问题的行的示例是:

"0004","645","MOORE,STANLEY "STAN"","12/04/19"

我的问题

是否有办法以某种方式去除这些有问题的语音标记?即围绕“ STAN”的语音标记,因此该列将被视为MOORE,STANLEY STAN。

如果SSIS中有一种方法可以做到这一点,那就太好了。如果没有,我们将接受SSIS之外的其他想法。

解决方案需要可扩展,因为我们有数百个SSIS程序包可能会发生此问题。

vrfriends 回答:从文本限定符为“

我有一些建议:

  1. 我知道Excel的设置中写着“将连续分隔符作为一个整体”。
  2. 将分隔符更改为其他内容,例如管道(反斜杠上方的内容,不确定在其他地方称为什么,看起来像一条垂直线)。您可以将定界符与要包含在结果值中的引号区别开,因为任何字符串定界符要么紧跟逗号,要么紧跟逗号。其他任何地方的引号字符都不是定界符。
  3. 如果您不需要通过任何T-SQL传递数据,则可能要用单引号替换非定界符引号,或者根据最终输出,可能是html实体(")。 希望这会有所帮助,

乔伊

本文链接:https://www.f2er.com/3116595.html

大家都在问