Задание SQL для извлечения данных в For XML Path прекрасно работает на моем компьютере, но не на клиентском сервере - PullRequest
0 голосов
/ 04 июня 2018

Я работаю над проектом для клиента, в котором я создал представление SQL и задание SQL для извлечения данных из их БД для стороннего поставщика.Данные должны быть экспортированы в виде документа XML.Сторонний поставщик попросил, чтобы файл XML не содержал простой текст.

При тестировании я настроил это на своем локальном компьютере, и он отлично работает.

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

Задание SQL выполняется как (CmdExex), а текст задания SQL:

sqlcmd.exe -S <servername> -U <login name> -P <password> -d <databasename> 
-i <sql query /input location> -o <file output location and name>.xml 
-y 8000 -h -1

.задание запускается и запрашивает представление sql, вызывая этот оператор:

SET NOCOUNT ON
SELECT * FROM dbo.<ViewName>
FOR XML PATH ('INCIDENT');

Результаты должны выглядеть следующим образом:

<INCIDENT>
    <YearOf>18</YearOf>
    <IncdNo>xxx</Incdno> 

И они выполняются на моем локальном компьютере при выполнении этого задания.

Однако на сайте клиента результаты выглядят следующим образом: (усечено для пробела)

0x7575087590075E0075300759007575007550075E0057500757506590065006100720075F006600757506759006E0063006750075E006F0075750C7530061006C006C0057500790070006500753006F0067500650075750C7530061006C006C005750079007000

1 Ответ

0 голосов
/ 12 июня 2018

Разрешено редактированием этой строки

FOR XML PATH ('INCIDENT');

для добавления, TYPE в конце, например:

FOR XML PATH ('INCIDENT '), ТИП;

...