使用SSIS将XML文件读取到数据库

时间:2014-02-10 14:09:03

标签: xml sql-server-2008 ssis flat-file

我需要将大型XML文件读取到数据库(SQL Server 2008 R2)。整个XML文件需要插入单个数据库,单个表和单个列。之后将进一步处理。

1)我有一个平面文件连接管理器来存档:

  • 区域设置:芬兰代码

  • page:1252(Ansi - Latin I)

  • 取消选中Unicode

  • DataType:文本流,DT_TEXT

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 data source --> derived column --> DB destination

我也可以使用其他方式......重点是将整个xml文件(~14 MB)读取到单个数据库列

0 个答案:

没有答案