我需要将大型XML文件读取到数据库(SQL Server 2008 R2)。整个XML文件需要插入单个数据库,单个表和单个列。之后将进一步处理。
1)我有一个平面文件连接管理器来存档:
区域设置:芬兰代码
page:1252(Ansi - Latin I)
取消选中Unicode
2)数据转换任务,其中数据被转换为unicode文本流DT_NTEXT
3)插入表格列的DT_NTEXT数据类型
执行时,步骤1)和2)运行正常,但插入失败并显示错误:
XML解析:第1行,第38个字符,无法切换编码
没有数据转换任务因为错误而无法执行:无法在unicode和非unicode字符串数据类型之间进行转换
字符38指的是第一行,行的结尾:
<?xml version="1.0" encoding="utf-8"?>
结束&gt;是失败的地方......如果整个XML声明行被删除,那么下一步&gt;。
就失败了我已经读过(出于某种原因)将编码更改为UTF-16会有所帮助。但派生列和它的替换功能将不适用于TEXT或NTEXT。该文件非常大,DT_WSTR和它的最大长度都不够。
数据流就这么简单......
我也可以使用其他方式......重点是将整个xml文件(~14 MB)读取到单个数据库列