read node leer into importar column sql sql-server xml xmltextwriter

node - xml in sql server 2014



Insertar XML en la base de datos de SQL Server 2008 (3)

Esto funcionó para mí sin ningún error:

DECLARE @input XML SET @input = N''<?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>'' INSERT INTO testfiles (filename, filemeta) VALUES (''test.mp3'', @input);

Hola, estoy tratando de insertar algunos datos XML en una tabla en SQL Server 2008. Sin embargo, sigo recibiendo este error;

Análisis XML: línea 1, carácter 39, no se puede cambiar la codificación

La columna de la base de datos filemeta utiliza el tipo de datos XML, y he cambiado la codificación a UTF-16, que creo que es necesaria para agregar datos 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>'');

Ayuda, estoy atascado.

NB: he creado el XML con XMLTextWriter.


Sí, hay problemas cuando intenta insertar XML en SQL Server 2008 y el XML contiene una línea de instrucción de codificación.

Por lo general, uso la función CONVERT que me permite instruir a SQL Server para que omita esas instrucciones; use algo como esto:

INSERT INTO testfiles (filename, filemeta) VALUES (''test.mp3'', CONVERT(XML, N''<?xml version="1.0" encoding="utf-16" standalone="yes"?>......'', 2));

Definitivamente me ha ayudado a obtener varias cosas XML codificadas en SQL Server.

Vea los documentos de MSDN en CAST y CONVERT . Un poco más abajo en la página, hay varios estilos que puede usar para CONVERT con XML y algunas explicaciones sobre ellos.


Solo necesitas incluir N delante de tu cadena XML para hacerla unicode.

INSERT INTO testfiles (filename, filemeta) VALUES (''test.mp3'', N''<?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>'');