场景:我的变量中有一个文件路径 (E:\..\abc.xml
),我需要将该文件的内容导入到表。
XML 内容:
<?xml version="1.0"?>
<x:books xmlns:x="urn:books">
<book id="bk001">
<author>Writer</author>
<title>The First Book</title>
<genre>Fiction</genre>
<price>44.95</price>
<pub_date>2000-10-01</pub_date>
<review>An amazing story of nothing.</review>
</book>
<book id="bk002">
<author>Poet</author>
<title>The Poet's First Poem</title>
<genre>Poem</genre>
<price>24.95</price>
<pub_date>2011-11-11</pub_date>
<review>Least poetic poems.</review>
</book>
</x:books>
我用了this link将内容插入到表中。所以问题是,包运行成功,但插入的内容不是 XML 内容,而是其他语言(中文或日文)。
这是我的包裹
获取文件路径
,将变量转换为输出列,因此输出列XMLFile
的位置为E:\..\abc.xml
这是我的导入列
配置
我的输出是
任何建议都会有帮助。
最佳答案
该问题可能是由数据类型冲突引起的,只需尝试将目标列数据类型从 DT_NTEXT
更改为长度 = 4000 的 DT_WSTR
如果不起作用
按照以下链接中的建议进行操作:
- SSIS 2008R2 - Loading an XML file into a single column (with complications...)
- Import Xml nodes as Xml column with SSIS
解决方法
尝试将数据插入临时表(列类型 NVarchar),并使用执行 SQL 语句将数据传输到目标。
关于sql-server - 使用 SSIS 导入列时 XML 变成中文/日文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48162118/