gpt4 book ai didi

sql - 将 XML 插入 SQL Server 2008 数据库

转载 作者:数据小太阳 更新时间:2023-10-29 01:38:01 24 4
gpt4 key购买 nike

您好,我正在尝试将一些 XML 数据插入到 SQL Server 2008 上的表中。但是我一直收到此错误;

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

数据库列 filemeta 使用 XML 数据类型,我已将编码切换为 UTF-16,我认为这是添加 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>');

救命,我卡住了。

注意:我使用 XMLTextWriter 创建了 XML。

最佳答案

是的,当您尝试将 XML 插入 SQL Server 2008 并且 XML 包含编码指令行时会出现问题。

我通常使用 CONVERT 函数,它允许我指示 SQL Server 跳过这些指令 - 使用类似这样的东西:

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

它确实帮助我将各种编码的 XML 内容导入 SQL Server。

参见 MSDN docs on CAST and CONVERT - 在页面下方有许多样式可以用于 CONVERT with XML 以及一些关于它们的解释。

关于sql - 将 XML 插入 SQL Server 2008 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3628846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com