是否可以将XML内容放在数据库的字段中?

时间:2011-11-02 18:21:22

标签: c# sql sql-server database

我正在分析我的情况,我面临的问题是我需要在SQL SERVER 2008中保存XML文件的内容。我的XML文件大小约为200KB到600KB

对于妈妈,我如何定义字段以接受此内容?我可以想象我可以直接设置内容,但我不会起诉这个问题。

提前致谢。

7 个答案:

答案 0 :(得分:5)

SQL Server有一种名为XML的数据类型。使用它。

答案 1 :(得分:2)

SQL Server完全具有xml data type用于此目的。例如:

create table YourTable (id int identity, FileContent xml)

答案 2 :(得分:1)

如果您使用的是SQL Server 2005+,则可以使用xml数据类型。但是,您需要确保您的数据实际上是格式良好的XML。如果它只是片段,那么最好使用nvarchar

xml列类型的文件大小为200 - 600 KB没有问题。

答案 3 :(得分:1)

SQL 2008支持专用的xml数据类型,记录为here

一些细节分别包括以下片段和文档:

  

将xml实例限制为格式良好的XML片段。 XML   数据可以在顶层包含多个零个或多个元素。文本   顶级也允许使用节点。

     

将xml实例限制为格式良好的XML文档。 XML   数据必须只有一个根元素。文本节点不是   允许在顶层。

此外,关于容量的一点(尽管在大多数情况下难以达到2GB的限制):

  

xml数据类型实例的存储表示不能超过2   千兆字节(GB)。有关详细信息,请参阅Implementing XML in SQL Server

答案 4 :(得分:0)

您是否尝试过使用BLOB数据类型或CLOB?

答案 5 :(得分:0)

SQLServer有一个XML数据类型..看看here

答案 6 :(得分:0)

是的,您可以将XML文本存储在SQL数据库的文本字段中,但如果您计划对该XML数据进行大量内省,那么使用MS-SQL的XML数据类型可能会更好。这将XML数据以令牌化的形式存储在服务器上,并且可以执行XML查询操作,而无需一直重新解析XML数据。我似乎也记得你也可以索引XML表达式。