Экспорт в файл без символов перевода строки - PullRequest
1 голос
/ 16 мая 2019

Я работаю над проектом, и мне нужно экспортировать данные из базы данных SQL Server 2008 r2 в текстовый файл. Клиент требует, чтобы каждая строка имела CHAR(13)+CHAR(10) в конце. Часть моего кода вызывает пользовательскую функцию для объединения частей данных, которые я пытаюсь получить.

Вот мой основной сценарий:

SELECT DISTINCT
CAST('01' AS CHAR(3))+
CAST(CUSTOMERNAME AS CHAR(10))+
dbo.GETORDERS(CUSTOMERNNUMBER) + 
AST('03' AS CHAR(3))+       
CAST(ISNULL(ADDRESS_LINE,'') AS CHAR(30))+
CAST(ISNULL(CITY,'') AS CHAR(20))+
CAST(ISNULL(UPPER(STATE),'') AS CHAR(2))+
CAST(ISNULL(ZIP,'')AS CHAR(10)) 
FROM TABLE1

Ниже мой код функции GETORDERS. Функция принимает параметр, @CUSTOMERNUM.

DECLARE @output VARCHAR(max) = ( SELECT
            CAST('02' AS CHAR(3)) +
            CAST (LEFT(ORDER_FIELD1,40) AS CHAR(40)) +
            CAST (LEFT(ORDER_FIELD2,40) AS CHAR(40)) +
            CHAR(13)+CHAR(10)
        FROM [ORDER_TABLE] ord
        WHERE CUSTOMERNUM = @CUSTOMERNUM
        FOR XML PATH(''))

SET @output = REPLACE(@output,'
','')

Я могу запустить скрипт, получить результаты для запроса к сетке, скопировать / вставить в NotePad ++, и возвращаемые символы отображаются просто отлично. Смотрите первый скриншот. Заметил, что все строки имеют символы.

enter image description here

Теперь, если я использую запрос к файлу или использую мастер импорта / экспорта, чтобы запустить код. В NOTEPAD ++ возвращаемые символы не отображаются для части, сгенерированной функцией. Смотрите второй скриншот.

enter image description here

Так почему только один из возвращаемых символов отображается только при использовании мастера импорта \ экспорта или запроса в файл? Я мог бы просто «выбрать все» и скопировать / вставить, но генерируется так много данных, что я получаю исключение «недостаточно памяти». Если бы я мог придумать способ автоматизировать это, запросив файл или используя мастер импорта / экспорта, это сэкономило бы мне много времени. Кроме того, мне любопытно, что является причиной проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...