【发布时间】:2017-09-07 01:45:14
【问题描述】:
我有一些 C# 代码 (SQLCLR) 从本地机器读取 XML 文件到流中,并将其作为 SQLXML 返回给 SQL:
C#代码
Stream str = File.OpenRead(xmlFilePath);
sqlXMLToReturn = new SqlXml(str);
从 SQL Server 2014 调用 SQL CLR:
DECLARE @ResultForPos xml
EXEC @ResultForPos = spGetXmlForFile
SELECT @ResultForPos
当我从 Visual Studio 2015 中的 SQL Server 对象资源管理器中调试上述 SQL 脚本时,我在 C# 代码中的断点被命中。C# 代码中没有引发异常。但是在运行脚本后,我在 SQL Server 中收到以下错误。
消息 206,级别 16,状态 2,过程 spWcfCall,第 43 行
操作数类型冲突:int 与 xml 不兼容
我做错了什么?我是否必须执行 sqlXMLToReturn.Value 并返回一个字符串而不是 SQLXML。
【问题讨论】: