Выходной файл ssis в json-файл с добавлением crlf - PullRequest
0 голосов
/ 06 января 2019

Это было решено с помощью кода C #, пожалуйста, обратитесь к этому сообщению сообщение

У меня есть пакет внутри источника ole db для запуска запроса на создание файла Json для назначения плоского файла. Запрос: Примечание. Я использовал replace, чтобы избавиться от crlf, если они существуют в активности столбца (чего я не вижу)

SELECT  
Replace(Replace([activity], char(13),''), char(10),'') [activity]
FROM [CRM].[dbo].[JJVCACUProductElectron] for json auto

Сгенерированный json имеет некоторый crlf, поэтому может видеть несколько строк при просмотре в notepad ++. А при вставке содержимого в онлайн-анализатор json формат становится недействительным. После удаления вручную всего файла crlf из сгенерированного файла josn, чтобы данные json находились в одной строке, формат в синтаксическом анализаторе подходит.

Странно, что если я изменю запрос, чтобы просто вернуть одну запись в файл, то с json все в порядке. В таблице только 7 строк, поэтому я попробовал каждую строку, и все они работают, что заставляет меня сомневаться, действительно ли проблема в crlf. Но если без этого столбца, то все строки могут быть сгенерированы в json без проблем.

Я пробовал использовать переменную для хранения содержимого запроса, затем выбрать переменную, это будет работать, но для таблиц с десятками миллионов строк это приведет к снижению производительности. Так что это не вариант.

В заключение:

  1. Я не могу использовать вставку содержимого в переменную, а затем метод вывода.
  2. Кажется, удаление crlf в столбце не работает, или в столбце действительно отсутствует crlf.
  3. Удаление crlf из сгенерированного текстового файла будет работать. Но откуда взялись эти crlf?

Это выбор активности из [таблицы]

enter image description here

Здесь показан сгенерированный файл json, вы можете видеть две строки.

enter image description here

И в конце первой строки. если удалить этот crlf, чтобы была только одна строка, то содержимое является допустимым json.

enter image description here

...