Как получить полные данные из студии управления SQL для столбца ntext? - PullRequest
3 голосов
/ 10 февраля 2011

Я использую SQL Server 2005. В одной из таблиц у меня есть столбец "xmldefinition", который имеет тип ntext. Теперь данные в этом столбце очень большие и содержат весь текст xml.

Например: - <root><something1>....</something1></root>

Я хочу получить всю строку из Management Studio и скопировать ее снаружи в XML-файл, чтобы вручную просмотреть весь XML-файл. Но когда я запрашиваю этот столбец и копирую и вставляю данные в другой файл, содержимое разбивается посередине и оно не завершено.

Например: - <root><something1>........<somechar

Я полагаю, что это скопирует только 8196 символов из данных XML в столбце. Итак, мой вопрос, как я могу получить полные данные для этого столбца вручную. Однако я могу написать код C # для чтения этой колонки, но я хочу сделать это вручную в Management Studio. Любая идея, пожалуйста.

Ответы [ 3 ]

5 голосов
/ 03 июля 2012

Техника экспорта, показанная в усечение SQL Server и ограничение 8192 , работала для меня. В итоге говорится:

Вы можете экспортировать данные в плоский файл, который не будет усечен. Для этого:

  • Щелкните правой кнопкой мыши базу данных
  • Нажмите Задачи -> Экспорт данных
  • Выберите ваш источник данных (по умолчанию должно быть в порядке)
  • Выберите «Назначение плоского файла» для типа назначения.
  • Выберите имя файла для вывода.
  • В поле «Указать таблицу или запрос» выберите «Написать запрос, чтобы указать данные для передачи»
  • Вставьте в свой запрос

Остальные шаги должны быть самоочевидными. Это выведет файл в текст, и вы сможете открыть его в своем любимом текстовом редакторе.

4 голосов
/ 10 февраля 2011

Почему бы не преобразовать данные из NText в XML в вашем операторе select?Затем вы получаете возможность открыть XML в отдельном окне в SSMS.

3 голосов
/ 10 февраля 2011

Единственный способ превышения этого лимита в общем случае - через XML. Для длинных столбцов varchar я обычно использую что-то вроде следующего (трюк с инструкцией обработки избегает изменения < на &lt; и т. Д.)

select object_definition(object_id('sysdatabases')) 
 as [processing-instruction(x)] FOR XML PATH 

Конечно, в вашем случае данные уже являются XML, поэтому простое приведение должно работать!

...