【问题标题】:SSIS Convert Unicode 65001 to ANSI 1252SSIS 将 Unicode 65001 转换为 ANSI 1252
【发布时间】:2017-11-29 17:07:00
【问题描述】:

我正在使用 SSIS 导入 CSV。该包已经工作了好几年了,可以将 10K 行导入到 SQL Server 表中。源文件的提供者已切换到 Unicode 65001 系统。我没有把它转换成我的 SQL Server 2008 数据库可以使用的东西。我尝试过的事情包括:添加转换为 [DT_STR] 1252 ANSI 的转换步骤,将数据库中的所有列从 VARCHAR 更改为 NVARCHAR,创建 NVARCHAR 的全新表,复制平面文件并更改行尾,将文件传输到舞台表。在所有情况下,我都会收到相同的错误“无法在 65001 和 1252 之间转换。我在 Oracle 数据库中做了类似的事情,并且转换步骤有效。注意,文件中没有 unicode 字符,它是从 Oracle 系统生成的.

【问题讨论】:

    标签: sql-server unicode ssis


    【解决方案1】:

    我在这里找到了我的解决方案: http://slavasql.blogspot.com/2015/08/ssis-conversion-from-unicode-to-non.html

    基本上你添加一个visual basic脚本组件,将Unicode列设置为1252的新输出列。就是这样。

    Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
        Row.NonUnicodeAMTS = Row.AMTS
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2011-05-22
      • 2015-04-20
      • 1970-01-01
      • 1970-01-01
      • 2011-05-20
      • 2011-06-03
      • 1970-01-01
      • 1970-01-01
      • 2012-05-06
      相关资源
      最近更新 更多