我是SSIS的新手,我创建了一个带有oledb源和平面文件目标的数据流。
最初,目标文件的行分隔符为{LF} 但我现在必须将其更改为{CR} {LF}。我有大约100个以上的平面文件目标。
我尝试了以下方法,第二种方法可行,但这很耗时。
我尝试打开每个平面文件连接管理器,并尝试更改行分隔符,但我的Visual Studio没有响应。我做了几次,但没有运气。
我删除了平面文件连接管理器,并使用右行定界符重新创建它,然后它可以正常工作,但我担心我必须执行100次以上。
我在文本编辑器中打开了.dtsx文件,我可以找到标题行定界符,但找不到行定界符。
我尝试更改表达式中的行定界符,但它没有生效。
有什么最好的方法可以简单地做到这一点?
答案 0 :(得分:0)
我用它来删除CRLF
"$text = [IO.File]::ReadAllText(" + @ic + @FullFilePath + @ic + ") -replace " +
ic2 +"`r`n" + @ic2 + "," + @ic2 +" " + @ic2 + "; [IO.File]::WriteAllText(" +
@ic+ @FullFilePath + @ic + ", $text)"
where
@ic = '
@ic2 = """
@FullFilePath is the path returned from the For..Loop container.
注意:我将原始文件复制到一个新文件夹,然后更新副本而不是修改原始文件。
如果您更改此代码,我希望这对您有用:
-replace " + ic2 +"`r`n" + @ic2 + "," + @ic2 +" " + @ic2 + "
到
-replace " + ic2 +"`n" + @ic2 + "," + @ic2 +"`r`n" + @ic2 + "
我是在VS 2008中开发的。 screenshot