您好我正在尝试将一些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,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以及它们的一些解释。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。