Мне не хватило места в поле для комментариев, или я бы оставил это там.Это не ответ, так как он не работает, жаль.
НИКОГДА НЕ ПРЯМО РЕДАКТИРУЙТЕ XML ПАКЕТА SSIS
Если, конечно, он не находится под контролем версий и откатится, если вы его уничтожите.
Не думаю, что это можно сделать.Следующим подходом, который я собирался попробовать, было напрямую связываться с XML.Я создал копию диспетчера подключений, которая использовалась в предыдущем вопросе, и поиграл с циферблатами.
Я наблюдал следующие свойства:
- HeaderRowDelimiter
- RowDelimiter
- ColumnDelimiter
Все они были установлены_x000D__x000A_
для исходного диспетчера подключений.0D0A - это CR / LF в шестнадцатеричном формате, поэтому я попытался _x003B__x000D__x000A_
для моего HeaderRowDelimiter.Я открыл пакет и хаззу, он показывал {;} {CR} {LF} на вкладке Общие.
Я применил то же самое к другим свойствам, и все выглядело многообещающе.Я создал поток данных, использовал новый диспетчер соединений, и он работает, но вместо того, чтобы рассматривать это как ИЛИ, это И, поэтому у меня был только 1 ряд потока данных по конвейеру.Я подтвердил поведение AND, добавив в первую строку точку с запятой и выполнив предварительный просмотр.Затем он показал 2 строки.
Если бы это сработало, для достижения изменчивости вы могли бы использовать выражения в диспетчере соединений для установки вышеуказанных свойств ...
После быстрого теста кажется, что ямне все еще нужно поработать с XML, чтобы заставить CR / LF "взять".Вставка в шестнадцатеричном коде не отменяется в XML в диспетчере соединений.Вы можете создать выражение для переменной и затем вставить LF для вставки, но я не мог понять, как заставить CR отображаться.Возможно, вставьте это из другого документа.
В любом случае, оставив это здесь, не в качестве ответа на проблему, но чтобы дать рекомендации о том, что не работает.Возможно, это вызовет идею у будущего читателя.