我们当前的销售点系统在嵌套事务中执行太多查询,从而留下重复或部分数据 . 我将整个事物更改为单个存储过程,其中所有销售项数据作为Xml传递,在临时表中迭代,并保存到数据库,然后提交 . 但是,SQL拒绝xml中的特殊字符 .
例如:
<?xml version="1.0" encoding="utf-16"?>
<list>
<item>
<objectid>bd99fcb6-3031-48b7-9a71-5f8cefe0a614</objectid>
<amount>50.00</amount>
<fee>1.50</fee>
<waivedfee>0.00</waivedfee>
<tax>0.00</tax>
<name>TEST & TEST PERSON</name>
<payeeid>197</payeeid>
<accountnumber>5398520352</accountnumber>
<checknumber />
<comedreceiptnumber />
<isexpedited>0</isexpedited>
<echeckrefnumber />
</item>
</list>
失败 . 它告诉我 &
所在的非法字符 . 我没有't know why. It'与 &
正确逃脱 . 我无法在任何地方找到任何解决方案 . 到处都有人告诉我替换 &
- 这正是我在做的!
2 回答
使用
XML PATH('')
,它将为您编码特殊字符 .我想到了 . UTF-16是正确的 . Xml很好 . 最后一块xml,即分类账,只是简单的字符串,没有编码,也没有转义特殊字符 . 一旦我纠正这一切都有效 .
谢谢您的帮助!