阅读与SSIS的文本文件CRLF或LF(Reading a text file with SSIS

2019-07-29 13:11发布

运行到哪里,我收到已LF的作为EOL文本文件的问题。 有时,他们将文件发送与CRLF的作为EOL。 有没有人对我怎样才能使SSIS使用其中之一作为EOL什么好的建议?

它是用记事本++将其改为什么都我需要一个非常简单的转换操作,但是,它的说明书,我希望它是自动的。

谢谢,

编辑。 我用固定它(但并不完美), 瑞士文件刀的数据流之前。

Answer 1:

我第二任择议定书的投票瑞士档案刀。

要集成,我不得不添加一个执行进程任务:

但是,我有一堆运行的for-each-文件回路包的,所以我需要一些BIML - 也许这将有助于接下来的灵魂。

<ExecuteProcess Name="(EXE) Convert crlf for <#= tableName #>"
              Executable="<#= myExeFolder #>sfk.exe">
  <Expressions>
    <Expression PropertyName="Arguments">
      "crlf-to-lf " +  @[User::sFullFilePath]
    </Expression>
  </Expressions>
</ExecuteProcess>


Answer 2:

如果行终止总是一方或另一方,我建议设立2个文件连接管理器,一个与“CRLF”行分隔符,以及其他与“LF”行分隔符。

然后,创建一个布尔包变量(像@IsCrLf)和范围给你的包。 使你的SSIS包的第一步脚本任务 ,您在其中一个文件流读取,并试图发现是(根据您的流中查找)行结束符是什么。 设置相应的变量的值。

然后,脚本任务在控制流后,创建2个独立的数据流(每个文件连接管理器),并使用优先约束设置在连接器“表达式和约束”来指定要使用的数据流,这取决于所述@IsCrLf变量的值。

下面所建议的控制流程的例子。



Answer 3:

关于如何使用您的文件源后,将替换操作派生列改变CRLFs劳动力调查?



文章来源: Reading a text file with SSIS with CRLF or LF
标签: sql ssis