Можно ли поместить содержимое XML в поле базы данных? - PullRequest
0 голосов
/ 02 ноября 2011

Я анализировал свою ситуацию и столкнулся с проблемой, которая необходима для сохранения содержимого файла XML в SQL SERVER 2008. Размер моих файлов XML составляет от 200 КБ до 600 КБ

Для момента, как бы я определил поле для приема этого контента? Я могу себе представить, что могу установить контент напрямую, но я не в восторге от этой проблемы.

Заранее спасибо.

Ответы [ 7 ]

5 голосов
/ 02 ноября 2011

SQL Server имеет тип данных, называемый XML.Используйте это.

2 голосов
/ 02 ноября 2011

SQL Server имеет xml тип данных именно для этой цели.Например:

create table YourTable (id int identity, FileContent xml)
1 голос
/ 02 ноября 2011

SQL 2008 поддерживает выделенный тип данных xml, который задокументирован здесь .

Некоторые подробности включают следующее для фрагментов и документов, соответственно:

Ограничивает экземпляр xml быть правильно сформированным фрагментом XML. XML данные могут содержать несколько нулей или более элементов на верхнем уровне. Текст узлы также разрешены на верхнем уровне.

Ограничивает экземпляр xml быть правильно сформированным документом XML. XML данные должны иметь один и только один корневой элемент. Текстовые узлы не являются разрешено на верхнем уровне.

Кроме того, указывается емкость (хотя в большинстве случаев трудно достичь ограничения в 2 ГБ):

Сохраненное представление экземпляров типа данных xml не может превышать 2 гигабайт (ГБ) в размере. Для получения дополнительной информации см. Реализация XML в SQL Server .

1 голос
/ 02 ноября 2011

Если вы работаете с SQL Server 2005+, вы можете использовать тип данных xml.Вы должны быть уверены, что ваши данные на самом деле являются правильно сформированным XML.Если это просто фрагменты, лучше использовать nvarchar.

Размер файла 200 - 600 КБ не является проблемой для типа столбца xml.

0 голосов
/ 02 ноября 2011

Да, вы можете хранить текст XML в текстовом поле в вашей базе данных SQL, но если вы планируете много анализировать эти данные XML, вам, вероятно, будет лучше использовать тип данных MS-SQL XML , Это сохраняет данные XML в токенизированной форме на сервере и позволяет выполнять операции запроса XML без необходимости повторного анализа данных XML. Кажется, я помню, что вы также можете индексировать выражения XML.

0 голосов
/ 02 ноября 2011

SQLServer имеет тип данных XML .. посмотрите здесь

0 голосов
/ 02 ноября 2011

Вы пытались использовать типы данных BLOB или CLOB?

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