加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 尝试将XML内容存储到SQL Server 2005中失败(编码问题)

发布时间:2020-12-15 06:19:42 所属栏目:百科 来源:网络整理
导读:伙计们, 我有一个webservice返回ISO-8859-1编码的数据 – 因为它不是我的,我不能改变:-( 为了审计目的,我想将这些调用的结果XML存储到SQL Server 2005表中,其中有一个类型为“XML NULL”的字段. 从我的C#代码,我尝试使用参数化查询,将这个XML内容存储到XML字
伙计们,

我有一个webservice返回ISO-8859-1编码的数据 – 因为它不是我的,我不能改变:-(

为了审计目的,我想将这些调用的结果XML存储到SQL Server 2005表中,其中有一个类型为“XML NULL”的字段.

从我的C#代码,我尝试使用参数化查询,将这个XML内容存储到XML字段中

SqlCommand _cmd = new SqlCommand("INSERT INTO dbo.AuditTable(XmlField) VALUES(@XmlContents)",_connection);

_cmd.Parameters.Add("@XmlContents",SqlDbType.Xml);
_cmd.Parameters["@XmlContents"].Value = (my XML response);

_cmd.ExecuteNonQuery();

麻烦是 – 当我运行这个代码,我得到一个错误:

Msg 9402,Level 16,State 1,Line 1
XML parsing: line 1,character xy,unable to switch the encoding

??我试图弄清楚在哪里和如何可能“切换”编码 – 到目前为止没有运气.这是什么意思?在SQL Server 2005中我不能使用ISO-8859-1编码存储XML?还是有一个诀窍呢?)告诉SQL Server 2005只是接受这个编码,或者b)在存储在SQL Server之前,将webservice响应自动转换成UTF编码?

感谢任何提示,指针,提示!
渣子

解决方法

You need to convert to utf-16

即使我使用SQL Server,我也不是SQL Server的专家,但是我们去年遇到了同样的问题,并且与发送的xml相比,在SQL中声明的字符串数据类型是错误的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读