Essayez de stocker du contenu XML dans SQL Server 2005 ne marche pas (problème d'encodage)

Gens,

J'ai un webservice qui renvoie des données dans la norme ISO-8859-1 codage - puisque ce n'est pas la mienne, je ne peux pas changer 🙁

À des fins de vérification, j'aimerais stocker le fichier XML à partir de ces appels dans un SQL Server 2005 tableau, dans lequel j'ai un champ de type "XML NULL".

De mon code C#, j'ai essayer de stocker ce contenu XML dans le champ XML à l'aide d'une requête paramétrée, quelque chose comme

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();

De la difficulté, lorsque j'exécute ce code, j'obtiens en retour un message d'erreur:

Msg 9402, Niveau 16, État 1, Ligne 1
Analyse XML: ligne 1, le caractère xy, incapables de changer l'encodage

?? J'ai été à essayer de comprendre où et comment je pourrais peut-être "switch" du codage - pas de chance jusqu'à présent. Qu'est-ce que cela signifie? Je ne peut pas stocker XML avec de l'ISO-8859-1 codage dans SQL Server 2005?? Ou est-il une astuce pour a) dire à SQL Server 2005 à accepter ce codage, ou b) pour convertir automatiquement le webservice réponse à l'encodage UTF avant de le ranger dans SQL Server?

Merci pour tous les conseils, les pointeurs, les bouts!
Marc

OriginalL'auteur marc_s | 2008-12-21