sql-server - 使用 SSIS 导入列时 XML 变成中文/日文

标签 sql-server xml ssis etl

场景:我的变量中有一个文件路径 (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 内容,而是其他语言(中文或日文)。

这是我的包裹

enter image description here

获取文件路径,将变量转换为输出列,因此输出列XMLFile 的位置为E:\..\abc.xml

这是我的导入列配置

enter image description here

enter image description here

enter image description here

我的输出是

enter image description here

任何建议都会有帮助。

最佳答案

该问题可能是由数据类型冲突引起的,只需尝试将目标列数据类型从 DT_NTEXT 更改为长度 = 4000 的 DT_WSTR

如果不起作用

按照以下链接中的建议进行操作:

解决方法

尝试将数据插入临时表(列类型 NVarchar),并使用执行 SQL 语句将数据传输到目标。

关于sql-server - 使用 SSIS 导入列时 XML 变成中文/日文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48162118/

相关文章:

java - xlsx分析:where XMLvalue is different from cells value

c# - 脚本任务失败,没有进入Try&Catch block

sql-server - SSIS(需要 ASCII): "Code page is 1252 and is required to be 20127"

sql - SQL 2005 索引 View 的缓慢

sql-server - 如何在 SQL Server 中的 XML 投影中输出原始 xml,而不引入额外的 xml 根元素

android - 没有 attrs.xml 文件的自定义 xml 属性

c# - 无法加载文件或程序集 'Newtonsoft.Json' Version=11.0.0.0

sql-server - 逗号分隔列表作为单个字符串,T-SQL

c# - gridview 中的日期格式仅包含日期

c# - 使用 MSSQL 在 VS2012 中处理本地数据库时出现问题