Самый эффективный способ вывода таблицы SQL в файл XML - PullRequest
0 голосов
/ 22 декабря 2011

У меня есть сервер, который должен обрабатывать и выгружать из базы данных SQL запросы и таблицы в формате xml на диске.Это должна быть запланированная задача.

В настоящее время используется BCP через запланированный пакетный файл> сценарий sql> xp_cmdshell> bcp, но эта ошибка

SQLState = S1000, NativeError = 0
Ошибка = [Microsoft] [Собственный клиент SQL Server 10.0] [SQL Server] Предупреждение. Данные сервера (172885 байт) превышают длину поля файла хоста (65535 байт) для поля (1).Используйте длину префикса, строку завершения или больший размер поля файла хоста.Усечение не может произойти для выходных файлов BCP.

беспокоит меня в файлах журнала.Я не нашел никакого решения онлайн еще.Я не совсем понимаю, на что ссылается «поле host-file».В исходной таблице нет столбца со значением, равным 172885 байтов.Выходные файлы очень большие, и до сих пор кажется, что все данные записываются, но в конце всех файлов xml, похоже, есть какой-то мусор.

Производительность важна, но надежность - этодля меня самое важное в этой ситуации.

Я пытался воссоздать ошибку локально, но безуспешно.Сервер работает под управлением Windows Server 2008 r2.

Любая помощь или объяснение / анализ ошибки и ее значения, а также рекомендации простого запланированного решения для выгрузки таблиц / запросов sql в файлы xml, будутоценили.

1 Ответ

1 голос
/ 22 декабря 2011

Вы должны проверить синтаксис FOR XML PATH, введенный в SQL Server 2005:

Благодаря этому вы можете легко создавать довольно изящные выходные данные XML,включая иерархии, атрибуты и многое другое

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