I was just working with the new XML datatype for SQL 2005 and started getting this error when inserting the value:

XML parsing: line 1, character 45, unable to switch the encoding

I was simply sending a string to a stored proc thinking that would work (it was a string of valid XML)… I was wrong. I did some research and solved the problem by wrapping up the XML String into a SQL XML datatype.

System.Data.SqlTypes.SqlXml xmlSafe = new System.Data.SqlTypes.SqlXml(new System.Xml.XmlTextReader(xmlAsString, System.Xml.XmlNodeType.Document, null));

Sure, it’s simple enough but I haven’t used the XML type before.

Leave a Reply

Your email address will not be published. Required fields are marked *