【发布时间】:2019-05-12 10:50:52
【问题描述】:
如何将context_info 返回值数据转换/转换为XML?
第一个查询工作正常,而 query2 不工作
-- Query 1
DECLARE @xml XML = '<row User="system" Log="1" Culture="1"/>'
DECLARE @varB VARBINARY(128);
SET @varB = CAST(@xml AS VARBINARY(128))
SELECT @xml, CAST(@varB AS XML)
-- Query 2
DECLARE @xml XML = '<row User="system" Log="1" Culture="1"/>'
DECLARE @varB VARBINARY(128);
SET @varB = CAST(@xml AS VARBINARY(128))
SET CONTEXT_INFO @varB
SELECT @xml, CAST(@varB AS XML), CONTEXT_INFO(), CAST(CONTEXT_INFO() AS XML)
错误:
XML 解析:第 1 行,字符 41,非法 xml 字符
【问题讨论】:
-
CONTEXT_INFO是binary(128)而不是varbinary(128)。解析错误是由于正在评估尾随二进制零。您使用的是哪个 SQL Server 版本? -
sql server 2016 。解决方案
标签: sql-server varbinary context-info