我正在使用SQL Server 2005.在其中一个表中,我有一个“xmldefinition”列,它是ntext类型。现在,此列中的数据非常庞大,并包含整个xml文本。
例如: - <root><something1>....</something1></root>
我想从管理工作室获取整个字符串并将其复制到xml文件中,只是为了手动完成整个xml。但是当我查询这个列并将数据复制并粘贴到另一个文件中时,内容在中间被破坏而且不完整。
例如: - <root><something1>........<somechar
我相信这只会从列中的xml数据中复制一些8196个字符。所以我的问题是,如何手动获取此列的完整数据。但是,我可以编写一个C#代码来读取该列,但我想在管理工作室中手动执行此操作。请问。
答案 0 :(得分:5)
SQL Server truncation and 8192 limitation中显示的导出技术对我有用。总而言之,它说:
您可以将数据导出到不会被截断的平面文件中。要做到这一点:
其余步骤应该是自我解释的。这会将文件输出到文本,您可以在您喜欢的文本编辑器中打开它。
答案 1 :(得分:4)
为什么不在select语句中将数据从NText转换为XML?然后,您可以选择在SSMS的单独窗口中打开XML。
答案 2 :(得分:3)
一般来说,超过此限制的唯一方法是通过XML。对于长varchar列,我通常使用类似下面的内容(处理指令技巧避免将<
更改为<
等。)
select object_definition(object_id('sysdatabases'))
as [processing-instruction(x)] FOR XML PATH
当然,在您的情况下,数据已经是XML,因此简单的演员应该可以使用!