Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Appel d'une procédure stockée avec un type de données XML

Vous devez transmettre le xml sous forme de chaîne.

Mais si vous n'avez pas besoin des fonctions xml dans la base de données, vous pouvez envisager d'utiliser varbinary pour stocker les fichiers.

MISE À JOUR !!!!!

Merci. Je l'ai fait fonctionner. Ajout du code suivant :

StringWriter sw = new StringWriter(); 
XmlTextWriter xw = new XmlTextWriter(sw); 
doc.WriteTo(xw); 
StringReader transactionXml = new StringReader(sw.ToString()); 
XmlTextReader xmlReader = new XmlTextReader(transactionXml); 
SqlXml sqlXml = new SqlXml(xmlReader); 

Le convertir en chaîne n'était pas suffisant. J'ai eu l'erreur suivante :Analyse XML :ligne 1, caractère 38, impossible de changer l'encodage ». Donc, j'ai converti en chaîne puis je l'ai converti en SqlXml et cela a fonctionné.