【发布时间】:2014-10-03 19:58:47
【问题描述】:
我在 VB .NET 类库中有一个函数,它将 XML 文本插入到 VARCHAR(MAX) 列中。 该列导致额外的“?”在列中数据的前面。我不想在我的数据中使用那个字符。
列数据开头如下:
?<?xml version="1.0" encoding="utf-8"?><Registration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"....
插入函数是:
INSERT INTO Table (Data) OUTPUT Inserted.ID VALUES (@Data)
该表有 2 列,Data 和 ID。
我是不是做错了什么。 XML 由 .Net XmlSerializer 创建。
谢谢
【问题讨论】:
-
如果它看起来像
XML,嘎嘎叫像XML,闻起来像XML......你到底为什么不存储它在XML列中!???!!!?! -
总猜测,但是 XML 是否在开头使用字节顺序标记 (BOM) 进行编码?你能在调试器中判断插入的数据是否有这个额外的字符(在它进入数据库之前)?
-
试试 NVARCHAR。你有东西在那里。它甚至可能是一个不在 varchar 中的空格。
-
@marc_s,理论上你是对的,但目前在 MSSQL 中不可能像提供的示例一样存储 XML 及其处理指令。
标签: sql .net sql-server xml vb.net