SSIS: массово измените разделитель строк с {LF} на {CR}{LF} в диспетчере соединений с плоскими файлами
Я новичок в SSIS, я создал поток данных с источником oledb и местом назначения плоского файла.
Первоначально файл назначения имел разделитель строк как {LF}, но теперь я должен изменить его как {CR}{LF}. У меня есть около 100 таких файлов.
Я попробовал следующие подходы, второй работает, но это трудоемкий процесс.
Я попытался открыть каждый диспетчер соединений с плоскими файлами и попытаться изменить разделитель строк, но моя визуальная студия не отвечает. Я сделал несколько раз, но не повезло.
Я удалил диспетчер соединений с плоскими файлами и воссоздаю его с правильным разделителем строк, после чего он работает нормально, но моя проблема в том, что я должен делать это более 100 раз.
Я открыл файл.dtsx в текстовом редакторе, и я могу найти разделитель строки заголовка, но не смог найти разделитель строки.
Я пытаюсь изменить разделитель строк в выражении, но он не вступает в силу.
Есть ли лучший способ, которым мы можем просто сделать это?
1 ответ
Я использовал это, чтобы удалить 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. скриншот