在SQL Server 2008中导出包含XML数据列的表
我需要从数据库中导出SQL Server 2008中的表,然后在本地数据库中还原该表。问题是其中一列包含XML数据。最有效的方法是什么?您可以使用XML而不是平面文件 样本结构和数据:在SQL Server 2008中导出包含XML数据列的表,xml,sql-server-2008,export,Xml,Sql Server 2008,Export,我需要从数据库中导出SQL Server 2008中的表,然后在本地数据库中还原该表。问题是其中一列包含XML数据。最有效的方法是什么?您可以使用XML而不是平面文件 样本结构和数据: create table XMLTable ( ID int, XMLData xml ) insert into XMLTable values (1, '<root>item1</root>'), (2, '<root>item2</root>')
create table XMLTable
(
ID int,
XMLData xml
)
insert into XMLTable values
(1, '<root>item1</root>'),
(2, '<root>item2</root>')
结果:
<XMLTable>
<ID>1</ID>
<XMLData>
<root>item1</root>
</XMLData>
</XMLTable>
<XMLTable>
<ID>2</ID>
<XMLData>
<root>item2</root>
</XMLData>
</XMLTable>
您也可以尝试“导出数据”向导。考虑到您的场景,这应该可以很好地工作。如果没有XML列,您将如何执行此操作?通常,我会导出到平面文件。但这会导致XML列出错
<XMLTable>
<ID>1</ID>
<XMLData>
<root>item1</root>
</XMLData>
</XMLTable>
<XMLTable>
<ID>2</ID>
<XMLData>
<root>item2</root>
</XMLData>
</XMLTable>
declare @XML xml
set @XML =
'<XMLTable>
<ID>1</ID>
<XMLData>
<root>item1</root>
</XMLData>
</XMLTable>
<XMLTable>
<ID>2</ID>
<XMLData>
<root>item2</root>
</XMLData>
</XMLTable>'
insert into XMLTable(ID, XMLData)
select T.N.value('ID[1]', 'int'),
T.N.query('XMLData/*')
from @XML.nodes('/XMLTable') as T(N)