Измените кодировку файла, созданного с помощью поставщика журнала служб SSIS для текстовых файлов. - PullRequest
2 голосов
/ 07 марта 2019

Я новичок в SSIS, я уже разработал пакет и настроил поставщика журнала SSIS для текстовых файлов. Это работает нормально, и файлы журнала генерируются успешно.

У нас есть команда мониторинга, они используют этот файл журнала для мониторинга. Они не могут прочитать файлы журнала, так как кодировка файла в формате Unicode. Они ожидают, что их мониторинг будет не в формате Unicode.

Я попытался изменить существующую кодировку файла журнала на ANSI, но при повторном запуске пакета мой файл журнала был снова создан с кодировкой UNICODE.

В любом случае мы можем создавать файлы журналов с помощью поставщика журналов SSIS для текстовых файлов с кодировкой не в Юникоде. Пожалуйста, предложите мне любой обходной путь. Я не могу найти решение за последние два дня.

1 Ответ

1 голос
/ 08 марта 2019

Попытка выяснить проблему

Поскольку Поставщик журнала служб SSIS для текстовых файлов использует Диспетчер соединений с файлами для ведения журнала, у вас нет возможности редактировать кодировку файлов в пакете служб SSIS, поскольку этот тип диспетчера соединений можно использовать для разных форматов файлов (excel, text ...) .

При поиске этой проблемы похоже, что если журнал впервые создается SSIS, он записывает данные в Юникоде.

Возможное решение

Попробуйте создать пустой текстовый файл с помощью блокнота и сохранить его в кодировке ANSI.

enter image description here

Затем выберите этот файл из конфигурации ведения журнала служб SSIS.

Другие полезные ссылки


Обновление 1 - Эксперименты

Для проверки предоставленного мною обходного пути я провел следующие эксперименты:

  1. Я добавляю SSIS Logging и создаю новый файл журнала

enter image description here

  1. После выполнения пакета файл создается в Unicode (чтобы проверить, что я открыл файл с помощью блокнота и нажмите Save As кодировка, показанная в выпадающем списке, Unicode)
  2. Я создаю новый файл с помощью Блокнота и сохраняю его в кодировке Ansi, как указано выше.
  3. В службах SSIS я изменил диспетчер соединений с файлами на Use Existing вместо Create New и выбрал созданный мной файл

enter image description here

  1. После выполнения пакета журнал заполняется в файле, и кодировка по-прежнему Ansi
  2. Я повторил выполнение пакета несколько раз, и отмена не изменится.

TL DR: Создайте файл с кодировкой ANSI вне пакета ssis и в пакете создайте диспетчер соединений с файлами, выберите параметр Use Existing и выберите созданный файл. Используйте этот диспетчер соединений с файлами для регистрации.

...