0
我在將數據插入數據庫之前序列化一些數據。插入XML數據SQL Server - 編碼問題
Dim insertString As String = "INSERT INTO GP_SELECTION(SOCIETE, NAME, OBJECT_TYPE, DATA) VALUES ('{0}','{1}',{2},'{3}')"
Dim xmlData As String = .XmlFromFilters()
insertString = String.Format(insertString, societe, .Name, CInt(.ObjectType), xmlData)
現在,當我做插入時,SQL就像
INSERT INTO GP_SELECTION(SOCIETE, NAME, OBJECT_TYPE, DATA) VALUES ('01','hello world!!!',0,
'<?xml version="1.0" encoding="utf-16"?>
<ArrayOfPropertyFilter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<PropertyFilter>
<AndOr>SOME DATA</AndOr>
<Value xsi:type="xsd:string" />
</PropertyFilter>
</ArrayOfPropertyFilter>')
和SQL Server給我:
XML分析:行1,字符38,無法切換編碼
我想呃如何避免它...我應該轉換Unicode(UTF)insertString
?怎麼樣?或者,也許我應該使用SQL方法進行轉換?
也許解決方案將從序列化的字符串中刪除「encoding="utf-16"
」(然後插入工作沒有問題)......?
PS。爲了防止不尋常的註釋,實際上,我不使用存儲過程,而是使用直接的INSERT代碼。我承認這不是最好的方式,但是這是我現在的選擇。
對不起 - 我的近距離投票是不必要的 - 你的問題與我的有點不同...... –
什麼是SQL Server版本? –
SQL Server 2005 – serhio