【问题标题】:SSIS Import File csv ="" text delimiter ignore =SSIS 导入文件 csv="" 文本分隔符忽略 =
【发布时间】:2015-09-05 17:37:50
【问题描述】:

我正在导入一个 csv 文件,由于某种原因,文本分隔符不仅仅是一个双引号,它是一个 = 符号和双引号。 ssis中是否有办法打开文件,替换整个文件中的=符号,然后将其导入表中?

【问题讨论】:

  • 请给一个示例行,我不确定它是用作文本限定符还是列分隔符
  • 这是="011",="60",="011-60",="12971 X1" 的数据示例@ 双引号表示字符串,但我不知道为什么等号在那里。事实上,在导入之前替换文件中的所有等号将是 ssis 的第一步,但我不知道该怎么做。
  • 这是一次性进口吗?如果是这样,只需查找并替换所有外部 ssis。您的 otjer 选项是将数据放入临时表中,然后从临时表中对记录执行更新。以漫游引号和等号。或者,创建一个读取暂存表的视图,该表会删除不需要的字符。

标签: import ssis ssis-2008


【解决方案1】:

我也遇到过几乎类似的情况,你可以按照我的做法去做:

第一个数据流任务:

  1. 在高级选项卡 ColumnDelimiter={LF} 和 OutputColumnWidt=8000 中,格式=Delimited、文本限定符= 的平面文件源。这个想法是将文件打开为 1 列 csv 以替换每行中的错误字符。
  2. 表达式=REPLACE(Column0,"=","") 的派生列

  3. 具有与源中相同参数的平面文件目标。

第二个数据流任务在第一个之后运行。

  1. 我们使用保存的文件作为平面文件源,但这次我们必须使用 delimiter=Comma 和 Text qualifier=Quote 来拆分其列

【讨论】:

  • 做到了!我在那里玩,但无法获得正确的设置,谢谢您的指导!
猜你喜欢
  • 2015-07-20
  • 2018-05-29
  • 2022-08-22
  • 2021-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-05
相关资源
最近更新 更多