【发布时间】:2014-03-10 06:49:35
【问题描述】:
我需要开发一个 sql server 过程,它将表格行转换为 xml,并通过链接服务器将其传输到另一个存储过程(不同的服务器)。在该服务器上,我必须将此 xml 数据作为输入并再次将其转换为表行。什么是最简单、最省时的方法。
【问题讨论】:
标签: sql sql-server xml row
我需要开发一个 sql server 过程,它将表格行转换为 xml,并通过链接服务器将其传输到另一个存储过程(不同的服务器)。在该服务器上,我必须将此 xml 数据作为输入并再次将其转换为表行。什么是最简单、最省时的方法。
【问题讨论】:
标签: sql sql-server xml row
不能在链接服务器上的存储过程中使用 XML 数据类型作为参数。您必须使用nvarchar(max) 并在存储过程中转换为XML。
要创建 XML,您应该使用 FOR XML (SQL Server)。 RAW 和 AUTO 很简单,如果您需要更多控制,可以使用 PATH。我会远离EXPLICIT。
要在接收端分解 XML,您应该使用 nodes() Method (xml Data Type) 和 value() Method (xml Data Type)。
【讨论】:
鉴于您使用的是 SQL Server,您的查询只需要 append FOR XML。
【讨论】: