【问题标题】:Inserting Russian characters in table when file is loaded from SSIS从 SSIS 加载文件时在表中插入俄语字符
【发布时间】:2020-02-20 10:42:35
【问题描述】:

我正在尝试从 SSIS 插入一些包含俄语字符的值。

假设我有一个MYDATA.TXT(逗号分隔)和数据如下

REM,DES,ID
FR1,Головка,8
GY2,6-гр,9
MO0,Болт,2

第一行是列标题。我在平面文件中使用它。执行任务后,我的表中的值不同,例如Головка

经过一些研究,我发现我必须在文本和列应该是 NVARCHAR 之前使用 N。但我不确定如何在 SSIS 中执行此操作。我有大约 120 万条记录,我应该为所有行在列前加上 N 还是在 SSIS 中有任何其他方式?

【问题讨论】:

  • 在 SSIS 数据类型中与 nvarchar 等效的是 Unicode 字符串或 DT_WSTR。您还需要确保让 SSIS 知道文件存储在的代码页,以确保它正确读取字符。考虑到现在看起来像 Головка,这表明您将值作为 DT_WSTR 导入,但使用了错误的代码页/编码。

标签: sql-server ssis sql-server-2012


【解决方案1】:

尝试将代码页更改为 65001 (UTF-8)。

在“高级”选项卡中,将 DES 列的数据类型更改为 unicode 字符串 [DT_WSTR]

输出:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    • 2011-03-13
    • 2015-06-17
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 2016-11-10
    相关资源
    最近更新 更多