INSÉRER des données XML dans SQL Server 2008 de la base de données
Bonjour, je suis en train d'insérer quelques données XML dans une table SQL Server 2008. Cependant, je reçois jeté cette erreur;
D'analyse XML: ligne 1, du caractère, 39, incapables de changer l'encodage
La colonne de base de données filemeta utilise le type de données XML, et j'ai basculer le codage UTF-16 qui, je crois, est nécessaire pour l'ajout de données XML.
INSERT INTO testfiles
(filename, filemeta)
VALUES
('test.mp3', '<?xml version="1.0" encoding="utf-16" standalone="yes"?><!--This is a test XML file--><filemeta filetype="Audio"><Comments /><AlbumTitle /><TrackNumber /><ArtistName /><Year /><Genre /><TrackTitle /></filemeta>');
De l'aide, je suis bloqué.
NB: j'ai créé le XML avec XMLTextWriter.
Vous devez vous connecter pour publier un commentaire.
Oui, il y a des problèmes lorsque vous essayez d'insérer des données XML dans SQL Server 2008, XML contient un codage de l'instruction de la ligne.
En général, je obtenir autour à l'aide de la
CONVERT
fonction qui me permet de charger SQL Server pour ignorer ces instructions utiliser quelque chose comme ceci:Il m'a vraiment aidé à obtenir diverses codé en XML des trucs dans SQL Server.
Voir le MSDN docs sur CAST et CONVERT - un peu en bas de la page il y a un certain nombre de styles que vous pouvez utiliser pour
CONVERT
avecXML
et quelques explications à leur sujet.Vous avez juste besoin d'inclure N en face de votre chaîne XML pour faire unicode.
Cela a fonctionné pour moi sans erreur: